通过 maven 执行时,JUnit5 测试结果未显示指定的 @DisplayName。
在 Eclipse 下运行时,相同的测试套件会显示正确分配的名称(右键单击 --> 运行方式... --> JUnit 测试)。
这是已实施测试的示例:
@DisplayName(value="prog QA suite")
public class ProgQATest {
@Test
@Tag(value="TestProg")
@DisplayName(value="prog QA present")
public void testProg2QaPresent(String searchstring)
{
/* test code... */
}
}
使用 eclipse 运行时,显示“prog QA suite”和“prog QA present”作为名称。
但是,当使用“maven test”运行时,会显示“ProgQATest”和“testProg2QaPresent”作为名称。
使用的 pom.xml 是:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.jupiter.version>5.3.2</junit.jupiter.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.github.pageobject</groupId>
<artifactId>pageobject-core</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<forkCount>20</forkCount>
<reuseForks>false</reuseForks>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
非常感谢你的帮助!