Class MyClass{
method3(){
if(condition){
method1()
}
else{
method2()
}
}
method1(){
//do woo
}
method3(){
//do foo
}
}
我正在尝试测试method3
,只有在调用case的情况下,否则不会调用该方法。
MyClass myClassMock= mock(MyClass.class);
myClassMock.method3();
verify( myClassMock, times(0)).method2();
但这会调用我的method2
,并在method2
内抛出空指针。因为我的行为不会调用method2
,所以我如何在不调用method2
的情况下测试它。
如果您不关心从method 2
返回的内容,您也可以模拟该方法:
when(mock.method2(anyString())).thenAnswer("anything");
您可以替换任何字符串,并使用以下命令:
when(mock.method2(any(MyClass.class))).thenReturn(anInstanceOfMyClass);
或者
verify(mock, never()).method2();
或者
when(mock.method2()).thenReturn(instanceOfProperClass);
我试图验证一个模拟的方法()被调用了2次。不管出于什么原因,Mockito从来没有失败过测试,不管期望调用的次数是多少。我是这样使用它的:
玩弄Mockito来实现我的服务的单元测试,但由于某种原因,我无法通过我的厚脑袋来实现这一点。我的考试通过了,但我不能确信我做得对。 下面是一个测试count()方法的示例。该方法只是将调用转发到它的存储库,我不想验证仅此而已,没有其他事情发生。这就是我得到的: 我的考试及格了,但我有一些问题。 > 我需要验证吗?我觉得我这样做是因为我想验证personRepository。实际上调用了count
我将Mockito与JUnit一起使用,为Android项目中的类实现单元测试。问题是,我在随后的两个测试中调用了,而这两个测试完全相同(以确保我正确使用了Mockito),但有趣的是,在第二个测试中的verify总是失败。我怀疑,在使用注释的每次测试之前需要执行一些操作,而我忽略了这些操作。 我使用Android Studio 3.4.1、Mockito 2.7.22和JUnit 4.12。 下
我正在处理一个Spring Boot java服务,该服务包含一个Camel处理器类,如下所示: 当我运行它时,我得到一个失败,声明对1*LogService.Update(_)的调用太少(0个调用)。我试着调试代码,在MyProc中,语句被命中,并且logService对象在高亮显示时(在Eclipse中)状态为“mock for type logService named$spock_shar
如何验证一个模拟对象根本没有被调用?我正在尝试使用Mockito测试一个接口方法的空实现。
我对b()有一套完整的测试,它完成了繁重的任务。不幸的是,我不得不做一个丑陋的想法,比如()(遗留代码),我不想复制所有的测试。方法b()的。此外,这两个都需要公开。 我想验证在某些情况下a()调用b(),但我不能这样做,beacause测试类不是mock。我需要一种方法来验证该方法是在真实对象上调用的,而不仅仅是在模拟对象上调用的。