在 JUnit 测试用例中,“fail”的实际用途是什么?
2022-08-31 07:55:58
在 JUnit 测试用例中,“fail”的实际用途是什么?
在 JUnit 测试用例中,“fail”的实际用途是什么?
我发现它有用的一些情况:
try{ // do stuff... fail("Exception not thrown"); }catch(Exception e){ assertTrue(e.hasSomeFlag()); }
注意:
从 JUnit4 开始,有一种更优雅的方法来测试是否正在引发异常:使用注释@Test(expected=IndexOutOfBoundsException.class)
但是,如果您还想检查异常,这将不起作用,那么您仍然需要 .fail()
假设您正在为负流编写一个测试用例,其中正在测试的代码应引发异常。
try{
bizMethod(badData);
fail(); // FAIL when no exception is thrown
} catch (BizException e) {
assert(e.errorCode == THE_ERROR_CODE_U_R_LOOKING_FOR)
}