我正在将一些测试用例从JMock迁移到JMockit。到目前为止,这是一段令人愉快的旅程,但是JMock的一个功能我无法在JMockit(版本0.999.17)中找到。

我想检查一下是否从未调用过模拟程序(任何方法)。

使用JMock,我所需要的只是我的Expectations块中的以下内容:

never(mock)


使用JMockit可行吗?

编辑:

我可能已经找到了解决方案,但是它不是很明确。
如果我在我的Expectations块中使用times =0将此模拟的任何方法放入该模拟,则此模拟将变得严格,并且我相信任何调用的方法都会触发异常。

最佳答案

尝试使用一个空的完整验证块,它应验证在任何给定的模拟上均未发生调用:

@Test
public void someTest(@Mocked SomeType mock)
{
    // Record expectations on other mocked types...

    // Exercise the tested code...

    new FullVerifications(mock) {};
}

关于jmockit - JMockit中的never(mock)的等效项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13019052/

10-09 19:29