我正在寻找一种方法来验证Mockito,在测试过程中没有任何与给定模拟的交互。对于具有验证模式never()
的给定方法很容易实现,但是我还没有找到完整模拟的解决方案。Mockito - 如何验证模拟从未被调用
我实际上想达到的目标:在测试中验证,没有任何东西会打印到控制台。使用JUnit的总体思路是这样说:
private PrintStream systemOut;
@Before
public void setUp() {
// spy on System.out
systemOut = spy(System.out);
}
@After
public void tearDown() {
verify(systemOut, never()); // <-- that doesn't work, just shows the intention
}
一个PrintStream
拥有吨的方法,我真的不希望验证每一个有独立的验证 - 与同为System.err
...
所以我希望,如果有一个简单的解决方案,我可以,因为我有一个很好的测试覆盖率,迫使软件工程师(和我)在提交更改之前删除他们的(我的)调试代码,如System.out.println("Breakpoint#1");
或e.printStacktrace();
。
看起来像我可以做的最好的方法。谢谢! (我实际上把大部分逻辑都隐藏在助手类中,并且不得不让沉默记录器) – 2012-08-13 15:51:58