如何配置Azure测试结果展示JUnit的testName值作为用例标题
注意:你当前代码里的@Test(testName = "...", groups = "...")属于TestNG框架的注解,JUnit 5原生的@Test注解没有testName和groups参数,如果你实际用的是JUnit 5,需要将想要展示的标题写在@DisplayName注解中。
Azure DevOps测试列表的用例名称直接读取测试执行生成的JUnit格式XML报告中<testcase>标签的name属性,你只需要调整本地构建的测试插件配置,让XML报告中用你指定的测试名称填充这个属性即可,以下是不同技术栈的配置方案:
场景1:使用Gradle + JUnit 5
在build.gradle的test任务中添加以下配置:
test { useJUnitPlatform() // 开启使用@DisplayName作为测试用例名 reports.junitXml.useTestDisplayName = true // 其余原有test配置保留即可 }
场景2:使用Maven + JUnit 5
在pom.xml中修改maven-surefire-plugin配置,版本要求≥2.22.0:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.2.2</version> <configuration> <statelessTestsetReporter implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5Xml30StatelessReporter"> <!-- 开启使用自定义测试名称作为用例名 --> <usePhrasedTestCaseName>true</usePhrasedTestCaseName> </statelessTestsetReporter> </configuration> </plugin>
场景3:使用TestNG
Maven项目修改maven-surefire-plugin配置:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.2.2</version> <configuration> <suiteXmlFiles> <suiteXmlFile>testng.xml</suiteXmlFile> </suiteXmlFiles> <properties> <property> <name>usedefaultlisteners</name> <value>false</value> </property> <property> <name>listener</name> <value>org.testng.reporters.XMLReporter</value> </property> </properties> <systemPropertyVariables> <testng.xml.testname.useTestCaseName>true</testng.xml.testname.useTestCaseName> </systemPropertyVariables> </configuration> </plugin>
验证与Azure配置
- 本地执行测试构建后,打开生成的测试报告XML文件:
- Maven项目路径:
target/surefire-reports/下的xml文件 - Gradle项目路径:
build/test-results/test/下的xml文件
确认<testcase>标签的name属性已经是你想要的66734 Web Test - Serial Inquiry
- Maven项目路径:
- Azure Pipeline中的「Publish Test Results」任务保持默认配置即可,会自动读取XML中的name属性作为测试用例标题展示。
内容的提问来源于stack exchange,提问作者Peter Penzov
相关产品推荐
相关产品推荐

