测试夹具的一部分检查在测试期间没有记录错误:
@After
public void testname() {
if(accumulatedErrors()) {
fail("Errors were recorded during test");
}
}
但是对于预期会失败的测试,如下所示:
@Test(expected = IllegalStateException.class)
public void shouldExplode() throws Exception {
doExplodingStuff();
}
@After 方法应该反转检查:
@After
public void testname() {
if (failureIsExpected()) {
assertTrue("No errors were recorded during test", accumulatedErrors());
} else {
assertFalse("Errors were recorded during test", accumulatedErrors());
}
}
有没有办法expected
从方法中检查已执行测试的参数@After
?
当然,测试可以指定expectToFail=true
或类似的东西,但我想避免这种重复。