Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JUnit5中TestName规则的等价物是什么?_Java_Unit Testing_Testing_Junit_Junit5 - Fatal编程技术网

Java JUnit5中TestName规则的等价物是什么?

Java JUnit5中TestName规则的等价物是什么?,java,unit-testing,testing,junit,junit5,Java,Unit Testing,Testing,Junit,Junit5,如何在JUnit 5中获取测试方法的名称?在测试方法中声明类型为TestInfo的参数,JUnit将自动为该方法提供一个实例: @测试 void getTestInfo(TestInfo TestInfo){//自动注入 System.out.println(testInfo.getDisplayName()); System.out.println(testInfo.getTestMethod()); System.out.println(testInfo.getTestClass()); S

如何在JUnit 5中获取测试方法的名称?

在测试方法中声明类型为
TestInfo
的参数,JUnit将自动为该方法提供一个实例:

@测试
void getTestInfo(TestInfo TestInfo){//自动注入
System.out.println(testInfo.getDisplayName());
System.out.println(testInfo.getTestMethod());
System.out.println(testInfo.getTestClass());
System.out.println(testInfo.getTags());
}

您可以获取测试方法名称(以及更多)从上面所示的
TestInfo
实例中。

除了关于将
TestInfo
注入测试方法的内容外,还可以将
TestInfo
注入到带有
@beforeach
@AfterEach
注释的方法中,这有时可能有用:

@BeforeEach
void setUp(TestInfo testInfo) {
  log.info(String.format("test started: %s", testInfo.getDisplayName());
}
@AfterEach
void tearDown(TestInfo testInfo) {
  log.info(String.format("test finished: %s", testInfo.getDisplayName());
}

这很好,但是如果您有稍微复杂的测试,那么您必须将testinfo传递给方法更改,这会使它们变得不必要的复杂@testvoidtest(TestInfo-info){complementdvalidation(info);}``这对于我所面临的情况更有用,因为我们有一个基础测试类,我们的每个其他测试都扩展了这个测试类-在这里将TestInfo变量分配给一个实例方法意味着我们只需要在一个地方添加我们的修复!