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