我正在尋找一種方法來驗證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