我正在testing一个预期的例外的方法。 我还需要validation在引发exception之后调用了一些清理代码(在模拟对象上),但看起来validation被忽略。 这是代码。 我正在使用Junit ExpectedException Rule来validation预期的exception。 @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完全被忽略。 不pipe我用什么方法进行verify ,我的testing都通过了,这不是我想要的。 任何想法,为什么这种事情发生?
我想为大量代码编写testing用例,我想知道JUnit @Rule注释特性的细节,以便我可以使用它来编写testing用例。 请提供一些很好的答案或链接,通过一个简单的例子详细说明其function。