最佳答案
我正在测试一个具有预期异常的方法。我还需要验证在抛出异常之后是否调用了某些清除代码(在模拟对象上) ,但是看起来这个验证被忽略了。这是密码。我使用 JunitExpectedException
Rule
来验证预期的异常。
@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
中放入什么方法,我的测试都通过了,这不是我想要的。
知道为什么会这样吗?