最佳实践:fail() vs assertTrue(false)

2022-09-03 16:55:41

当测试用例故意失败时(例如,当没有抛出异常时),我看到人们同时使用fail()和assertTrue(false)。使用其中一个有什么好处吗?

try {
    //method call that should throw exception
    fail("oops");
} catch (Exception e) {}

与。

try {
    //method call that should throw exception
    assertTrue("oops", false);
} catch (Exception e) {}

答案 1

使用其中一个有什么好处吗?

从功能上讲,没有。但是,更清楚地传达意图,因此更好。fail()


答案 2

在注释中使用 JUnit 的参数expected@Test

@Test(expected = ArithmeticException.class)  
public void divisionWithException() {  
    int i = 1/0;
}  

如果未抛出 ,这将失败。ArithmeticException