Java单元测试检查是否在不执行方法的情况下调用方法

时间:2015-10-28 10:21:21

标签: java unit-testing mockito void

我必须测试一个调用两个void方法的方法。我只想检查是否调用了两个void方法,但该方法必须是存根的。

我该怎么办?我尝试使用Mockito PrintJob.DoPrint()方法实现它,但没有成功。

doThrow
  

通缉但未调用:错误

如何解决我的问题?

2 个答案:

答案 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?

相关问题