Mockito - 如何验证模拟对象从未被调用

14 浏览
0 Comments

Mockito - 如何验证模拟对象从未被调用

我正在寻找一种使用Mockito验证,在测试过程中给定的mock对象没有任何交互的方法。对于给定的方法,可以很容易地通过使用verification mode never()来实现,但是我还没有找到完整的mock对象的解决方法。

我实际上想要实现的是在测试中验证,没有任何内容被打印到控制台。使用jUnit的一般思路如下:

private PrintStream systemOut;
@Before
public void setUp() {
    // 对System.out进行spy
    systemOut = spy(System.out);
}
@After
public void tearDown() {
    verify(systemOut, never());  // <-- 这并不起作用,只是表达了意图
}

PrintStream有很多方法,我真的不想使用单独的verify来验证每一个方法 - System.err也是一样...

所以我希望,如果有一个简单的解决方案,我可以通过有很好的测试覆盖率,强制软件工程师(包括我自己)在提交更改之前删除他们(我的)调试代码,如System.out.println("Breakpoint#1");e.printStacktrace();

0