[英]Why aren't my `assertEquals` statements all displaying something?
以下是我的 JUnit5 测试 class 的片段。
@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");
}
但是,当我运行它时,我只设法获得第一个断言语句来显示消息。 既然他们都明显失败了,他们不应该都展示各自的信息吗?
正如上面评论部分强调的那样,如果assertEquals
失败,则会引发异常。 这可以防止达到任何以下语句。
通常,在遇到第一次失败的测试后,JUnit 将不会继续。 这有几个原因,最重要的(恕我直言)是:
如果您即使在失败后仍需要继续测试,请参阅此处以获取显示如何实现此目的的答案。
您可以使用assertAll将所有测试断言在一起:
Assertions.assertAll(
"heading",
() -> assertEquals(2, 3, "this is the 1st assertEquals"),
() -> assertEquals(4, 5, "this is the 2nd assertEquals"),
() -> assertEquals(5, 6, "this is the 3rd assertEquals")
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.