无论如何,我们可以在Junit 5中实现动态DisplayName(例如:用系统属性替换)
@DisplayName("The test cases is running agains {os.name}")
public void testOSVersion(){
.....
}
我们想要这样做以使测试用例更具描述性。
谢谢
最佳答案
默认情况下是不可能的。TestReporter
在当前的Jupiter版本中,您始终可以使用TestReporter
向报告中发送额外的数据:
@Test
void testOSVersion(TestReporter testReporter) {
testReporter.publishEntry("os.name", System.getProperty("os.name"));
}
有关详细信息,请参见https://junit.org/junit5/docs/current/user-guide/#writing-tests-dependency-injection
DisplayNameGenerator
Jupiter即将发布的5.4.0版本已经可以作为SNAPSHOT使用,它支持称为
@DisplayNameGeneration
的注释,该注释指向自定义的DisplayNameGenerator
实现。在这里,您可以使用测试方法的名称,附加的注释等动态生成测试方法的显示名称。有关详细信息,请参见
https://junit.org/junit5/docs/snapshot/user-guide/#display-name-generators