我正在測試一個預期異常的方法。我還需要驗證在引發異常之後調用了一些清理代碼(在模擬對象上),但看起來似乎忽略了驗證。這是代碼。我正在使用Junit ExpectedException
Rule
來驗證預期的異常。Mockito在異常之後進行驗證Junit 4.10
@Rule
public ExpectedException expectedEx = ExpectedException.none();
@Test
public void testExpectedException()
{
MockedObject mockObj = mock(MockedObj.class);
MySubject subject = new MySubject(mockedObj);
expectedEx.expect(MyException.class);
expectedEx.expectMessage("My exception message.");
subject.someMethodThrowingException();
verify(mockObj).
someCleanup(eq(...));
}
看起來好像verify
被完全忽略。無論我在verify
中輸入什麼方法,我的測試都通過了,這不是我想要的。
任何想法爲什麼這種事情發生?
更優雅的解決方案檢查我的中間段...我認爲這工作,但會吞下的ExpectedException消息。儘管感謝恭維! –
錯過了 - 可能是正確的。 –
終於正常工作 - 執行驗證,仍然檢測到預期的異常,它的消息 –