Mockito - 如何验证模拟对象从未被调用
- 论坛
- Mockito - 如何验证模拟对象从未被调用
14 浏览
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();
。