下面是我的JUnit5测试类的一个片段。
@Test
@DisplayName("This is just a simple JUnit 5 test")
void testSimple() {
assertEquals(2, 3, "this is the 1st assertEquals");
assertEquals(4, 5, "this is the 2nd assertEquals");
assertEquals(5, 6, "this is the 3rd asswerEquals");
}
然而,当我运行这个程序时,我只得到了第一个assert语句来显示消息,因为它们都明显失败了,它们不应该都显示各自的消息吗?
3条答案
按热度按时间8iwquhpp1#
正如上面注解部分所强调的,如果
assertEquals
失败,就会抛出异常,这会阻止后面的任何语句。xzlaal3s2#
您可以使用assertAll来Assert所有测试:
ymzxtsji3#
通常情况下,在遇到第一个失败的Assert后,JUnit将不会继续测试。这有几个原因,最重要的(恕我直言)是:
如果你需要在失败的请求后继续你的测试,请看here,它给出了如何实现的答案。无论如何,下面的其他测试(新的
@Test
注解方法)将继续执行。编辑:
突出显示测试与Assert的差异。