<script src="app.js"></script>
如果我的j单元测试中有类似的内容,测试是否仍会失败?
编辑:对不起,应该早一点说,我不是在这里取得任何成就,这是我期中考试的一部分,有人告诉我任何assertEquals总是会过去,对此我感到困惑。
答案 0 :(得分:2)
它仍然会失败,因为您正在尝试声明一个永远不会成立的条件:
assertEquals(true, false);
这将单独抛出AssertionError
,而该Macro1
没有被捕获,因此整个单元测试将失败。
答案 1 :(得分:1)
断言异常的首选方法是使用期望值,如下所示: 例如,您期望测试应该抛出ArithmeticException
@Test(expected = ArithmeticException.class)
public void div_shouldThrowArithmeticExceptionWhenDivisorIsZero() {
int a = 10, b = 0;
div(a,b);
}
如果您指定@Test(expected = SomeExpectedException.class)
,则当测试代码块生成预期的异常时,测试将通过。
答案 2 :(得分:-1)
只要try块抛出异常,catch块中的assertequals就会执行,但是我不确定您打算这样做。如果要断言异常,可以通过断言Throws来实现。
我希望这个答案有帮助