我试图通过在方法顶部添加一个assert语句来确保参数不能为null。
在进行单元测试时,我试图声明AssertError是预期的,但即使它的行为正确(抛出AssertError),它仍然会被识别为失败的测试。
class ExampleTest {
@Test(expected=AssertError.class)
public void testAssertFails() {
assert 0 == 1;
}
}
最佳答案
您可能需要使用-ea
JVM参数启用断言,因为它们默认情况下处于禁用状态。禁用断言后,如果assert
失败,则不会引发异常。
如果您正在Eclipse中运行此程序,则可以在首选项中编辑“已安装的JRE”以将其添加为参数,或者将其添加到测试的运行配置中。
另外,抛出的异常是AssertionError
,而不是AssertError
。