テスト中に特定のモックとの相互作用がなかったことをMockitoで確認する方法を探しています。検証モードを使用して特定の方法でこれを実現するのは簡単ですnever()
が、完全なモックの解決策はまだ見つかりません。
私が実際に達成したいこと:テストで、コンソールに何も出力されないことを確認します。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
}
APrintStream
にはたくさんのメソッドがあり、個別の検証ですべてを検証したくありませんSystem.err
。
したがって、簡単な解決策があれば、テストカバレッジが良好であれば、ソフトウェアエンジニア(および私自身)に、変更をコミットする前に、System.out.println("Breakpoint#1");
またはその前に、(私の)デバッグコードを削除するように強制できることを願っています。e.printStacktrace();