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



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

我该怎么做?我尝试使用Mockito doThrow方法来实现它,但没有成功。

doThrow(new RuntimeException()).when(mockedClass).methodName();

想要但未调用:错误

我该如何解决我的问题?

您只能验证模拟内容中的调用,例如

    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()

我真的不确定您是否应该通过预期异常来检查实际的方法调用。你能提供一些代码/更多关于上下文的细节吗?

您实际上需要在Mockito上使用verifyMethod。这是一个有同样问题的人。所示的示例模拟对象,注入它,然后检查它是否被调用。

Mockito:如何验证方法是在方法中创建的对象上调用的?

相关内容

  • 没有找到相关文章