- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Mockito junit 测试中遇到问题。我是新手,对问题有点困惑。对此的任何帮助将不胜感激。
这些是我打算写的类(class)
public class B extends QuartzJobBean {
private B b;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
try {
b.expireContract();
} catch (BusinessServiceException e) {
LOGGER.error("BusinessServiceException in B : " +
e.getMessage());
LOGGER.debug("BusinessServiceException in B : ", e);
} catch (Exception e) {
LOGGER.error("Exception in B : " +
e.getMessage());
LOGGER.debug("Exception in B : ", e);
}
}
public class C {
@Autowired
private D d;
public boolean expireTime() throws BusinessServiceException
{
try {
contractBusinessService.expireContract();
return true;
} catch (Exception e)
{
e.getMessage();
return false;
}
}
出现以下异常:
*org.mockito.exceptions.misusing.NotAMockException:
Argument passed to when() is not a mock!*
这是我的junit测试代码
class BTest(){
B b;
@Before
public void setUp() {
b= Mockito.spy(new B());
c= PowerMock.createMock(C.class);
b.setC(c);
}
@Test
public void testExpireContract() {
Mockito.doNothing().when(c).expireTime();
try {
b.executeInternal(j);
fail("BusinessServiceException should have thrown.");
} catch (Exception wse) {
assertEquals("BusinessServiceException should be same.", "BusinessServiceException", wse.getMessage());
}
verify(b).expireTime();
Assert.assertNotNull("value should not be null.", b);
}
最佳答案
测试使用两个不同的模拟库问题就在这里c= PowerMock.createMock(C.class);
您尝试使用 c 对象(PowerMock 模拟对象),就好像它是 Mockito 模拟一样,这就是您收到异常的原因。
// Instead of PowerMock just use Mockito to create a mock
c = Mockito.mock(C.class);
// Then you can pass it to `Mockito.when()` method as an argument
Mockito.doNothing().when(c).expireTime();
实际上,可以use PowerMock along with Mockito ,但需要更多配置。将 PowerMock 与 Mockito 结合使用可提供额外的高级功能,例如模拟静态方法。
关于java - 使用 Mockito NotaMockException 进行 Junit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38427394/
我正在尝试在单元测试中验证在特定配置中未调用静态方法。 因此,我正在使用 PowerMock ( powermock-core:2.0.4 & powermock-module-junit4:2.0.
我遇到了 Mockito junit 测试的问题。我是新手,对我面临的问题有点困惑。如有任何帮助,我们将不胜感激。 class Activity{ public void firstMetho
我正在尝试为以下静态方法编写测试: public static Field getField (Class type, String fieldName) { for (Field field
有点复杂的设置。 Robolectric,PowerMockito 基于规则的配置。 @RunWith(RobolectricGradleTestRunner.class) @Config(const
我正在尝试模拟Calendar.getInstance()以进行单元测试。 因此,我使用 PowerMock (powermock-core:2.0.4 & powermock-module-juni
我试过下面几行 @Test public void getXYZ_Success() throws Exception { Response result=abc.XYZ(exampleHe
我正在尝试一起使用两种 Mockito 模式: 对于部分模拟,请使用 Mockito.spy。 对于返回 void 的模拟方法,请使用 Mockito.doXXX(...).when(mock).me
我在 Mockito junit 测试中遇到问题。我是新手,对问题有点困惑。对此的任何帮助将不胜感激。 这些是我打算写的类(class) public class B extends QuartzJo
对于以下 Kotlin 类: class ProductLogic( private val product: Product? ) { fun shouldShow(): B
我正在尝试模拟方法的返回值,但我得到了 NotAMockException。 @InjectMocks private MyService myService; @Mock private Other
我正在使用Mockito模拟单元测试用例,并且正在获取以下异常(exception) org.mockito.exceptions.misusing.NotAMockException: Argume
大家好, 我正在尝试在使用 spring mvc 的 Web 应用程序上使用 mockito 进行测试。当它执行这一行 "Mockito.reset(notificacaORepositoryMock
我正在研究 Android 和 PowerMock 项目。在这个例子中,我试图模拟下面的方法,但我得到了错误 org.mockito.exceptions.misusing.NotAMockExcep
我是一名优秀的程序员,十分优秀!