Java AssertEquals赶上

时间:2018-10-24 00:50:45

标签: java junit

<script src="app.js"></script>

如果我的j单元测试中有类似的内容,测试是否仍会失败?

编辑:对不起,应该早一点说,我不是在这里取得任何成就,这是我期中考试的一部分,有人告诉我任何assertEquals总是会过去,对此我感到困惑。

3 个答案:

答案 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来实现。

我希望这个答案有帮助