【发布时间】:2020-07-16 07:30:27
【问题描述】:
即使中间的断言失败,JUnit 5 中是否有任何机制可以在测试中运行所有断言? 例如:
@Test
public void unitForTest_SomeScenario_ShouldReturn() {
//Act
var myObj = myServ.getMyObj();
//Arrange
assertThat(myObj).isNotNull();
assertThat(myObj.getName()).isEqualTo("Steve"); //failed assert
assertThat(myObj.getLastName()).isEqualTo("Gates");
}
我的意图是运行所有断言,并且跟踪失败的只是第二个,而不是第三个和第一个。
【问题讨论】:
-
您创建了三个独立的测试用例。
-
@Joe 不,抱歉这个问题没有回答我的问题,因为我想使用 JUnit 5 的可能性,而且我知道有类似 glything 的提议
-
@Joe 提出一个 JUnit 4 问题作为 JUnit 5 问题的副本没有多大意义。
-
@Joe 规则在 JUnit 5 中不再存在,因此
ErrorCollector解决方案不再起作用。 JUnit5 中的内置选项是Assertions.assertAll,这些答案均未涵盖。