这看起来太简单和明显了,但我找不到如何测试以下内容:
我的 Java 方法:
public void doSth(final Foo foo) {
assert foo != null;
..
}
我的测试:
@Test
public void testAssertion() {
doSth();
doSth(new Foo());
}
我可以用 assertEquals
等测试很多东西,但是如何创建一个测试用例,如果在 foo != null;
上断言则给出 true 给出否定?
我现在的测试在两种断言情况下都呈绿色,但我无法捕捉到断言是否失败。
我希望我的代码测试覆盖率达到 100%,并且想在此行测试一些有意义的东西。
最佳答案
assert
抛出 AssertionError如果断言是假的。
如果你想测试断言是否在参数为null
时发生,你可以使用@Test
的expected
参数来完成> 注释(需要 JUnit 4+):
@Test(expected = AssertionError.class)
public void testAssertion() {
doSth(null);
}
关于java - JUnit 测试 Java 代码断言是否失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35334485/