我正在 Junit5 中编写验收测试套件。因此,我想生成特定于我的域的自定义输出(html)。此输出将包含从生命周期事件获取的数据,例如测试开始(或在所有测试之前),还有一些数据来自非生命周期事件 - 例如:在我想要发出的测试执行过程中还收集一些用于报告的数据。
有人可以告诉我该怎么做吗?我知道自定义监听器和扩展对于生命周期事件都有好处,但是在测试执行过程中添加一些非生命周期数据并不容易?
正如@johanneslink已经指出的那样,您可以使用
TestReporter
“为当前容器发布报告条目或测试报告基础设施”,也在测试执行过程中:
class TestReporterDemo {
@Test
void reportSingleValue(TestReporter testReporter) {
testReporter.publishEntry("a status message");
}
@Test
void reportKeyValuePair(TestReporter testReporter) {
testReporter.publishEntry("a key", "a value");
}
@Test
void reportMultipleKeyValuePairs(TestReporter testReporter) {
Map<String, String> values = new HashMap<>();
values.put("user name", "dk38");
values.put("award year", "1974");
testReporter.publishEntry(values);
}
}
ParamterResolver
。另请参阅:“构造函数和方法的依赖注入”。