java JUnit5 assertAll私有方法断言被忽略
使用JUnit5 assertAll,我调用了一个方法来执行断言,但注意到当断言失败时,测试实际上通过了。调用下面这样的方法似乎被忽略了
assertAll(
() -> jsonAssertions(actual, expectedUrl)
);
private Executable[] jsonAssertions(String actual, String expectedUrl) {
return new Executable[] {
() -> ProductAssert.assertThat(actual).urlEquals(expectedUrl)
};
}
(ProductAssert是一个自定义assertJ断言类)
不过这很管用
assertAll(
() -> ProductAssert.assertThat(actual).urlEquals(expectedUrl)
);
# 1 楼答案
JUnit 5^{} 获取^{} 实例的列表
现在这样做,实际上并不是将
Executable
列表传递给assertAll
。不要将匿名方法传递给assertAll
,而是直接传递jsonAssertions
的结果: