如何使用记录器通过断言打印消息
How to use logger to print messages with assert
我正在尝试在我的存储库中实现一个记录器,但我在使用 Junit 实现记录器时遇到了一些问题。
示例断言:
logger.info("Asserting the response.");
assertThat(response.statusCode())
.withFailMessage("The test failed with status code:" + response.statusCode())
.isEqualTo(200);
我想用 logger.error() 函数代替 withFailMessage 但我似乎找不到任何方法。
标准断言(即 assertThat()
)意味着立即失败并带有 AssertionError
。
如果您想在出现故障时使用自定义逻辑,Soft Assertions together with the callback feature 可能就是您要找的。
你的例子会变成这样:
SoftAssertions softly = new SoftAssertions();
softly.setAfterAssertionErrorCollected(error -> logger.error("Assertion failed: {}", error));
softly.assertThat(response.statusCode())
.isEqualTo(200);
我正在尝试在我的存储库中实现一个记录器,但我在使用 Junit 实现记录器时遇到了一些问题。
示例断言:
logger.info("Asserting the response.");
assertThat(response.statusCode())
.withFailMessage("The test failed with status code:" + response.statusCode())
.isEqualTo(200);
我想用 logger.error() 函数代替 withFailMessage 但我似乎找不到任何方法。
标准断言(即 assertThat()
)意味着立即失败并带有 AssertionError
。
如果您想在出现故障时使用自定义逻辑,Soft Assertions together with the callback feature 可能就是您要找的。
你的例子会变成这样:
SoftAssertions softly = new SoftAssertions();
softly.setAfterAssertionErrorCollected(error -> logger.error("Assertion failed: {}", error));
softly.assertThat(response.statusCode())
.isEqualTo(200);