通过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测试”运行时,将“ 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>
非常感谢您的帮助!
答案 0 :(得分:0)
检查您的@Test导入。
我使用import org.junit.jupiter.api.Test;
后,我的问题解决了
使用import org.junit.Test;