我必须测试一个调用两个void方法的方法。我只想检查是否调用了两个void方法,但该方法必须是存根的。
我该怎么办?我尝试使用Mockito PrintJob.DoPrint()
方法实现它,但没有成功。
doThrow
通缉但未调用:错误
如何解决我的问题?
答案 0 :(得分:3)
您只能验证模拟内容中的来电,例如
Foo bar = Mockito.mock(Foo.class);
ClassToTest testInstance = new ClassToTest(bar);
testInstance.doStuff();
Mockito.verify(bar, times(1)).someMethod(); // will pass if someMethod of Foo class was called in scope of testInstance.doStuff()
我不确定你应该通过预期异常来检查实际的方法调用。你能提供一些关于上下文的代码/更多细节吗?
答案 1 :(得分:1)
您实际上需要在Mockito上使用verifyMethod。这是一个有同样问题的人。显示的示例嘲笑对象,注入它然后检查它是否被调用。
Mockito : how to verify method was called on an object created within a method?