gpt4 book ai didi

java - Maven Failsafe 没有选择 testng 测试套件,但 Surefire 可以

转载 作者:行者123 更新时间:2023-11-30 10:38:09 27 4
gpt4 key购买 nike

这里有点新手,但我正在尝试使用 Maven Failsafe 插件在我的 Java 项目中使用 TFS 2015 中的 Maven 任务运行 TestNG 测试。我最初使用 Surefire 插件但想改用 Failsafe,并根据 documentation for TestNG 稍微更改代码时,Failsafe 插件将运行 TestNG 测试类而不是测试套件(并且失败,因为我正在使用参数)。当切换回 Surefire 时,测试作为测试套件运行并通过。

我已经尝试了不同版本的 Failsafe,但没有任何改变。是否有任何我遗漏的 Failsafe 需要识别测试套件?

        <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>

(使用 Surefire)

         <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.13</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>

(测试.xml)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<parameter name="urlsource" value="https://httpbin.org/get"></parameter>
<test name="Test">
<classes>
<class name="test.java.TestGenericRESTAPI"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

最佳答案

你的配置根本没有为我运行 Failsafe,只有 Surefire。根据 Failsafe docs ,我配置了目标:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>

现在 Surefire 和 Failsafe 都对 mvn verify 执行测试(并且 Failsafe 正确传递参数)。如果你想跳过 Surefire 测试,你可以这样做:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>

现在 Surefire 仍然在 mvn verify 上运行,但实际上并不运行任何测试。我不知道如何完全禁用 Surefire,因此欢迎提出任何建议或改进。

请注意,您的 IDE 可能仍会直接调用 Surefire(NetBeans 为我做了)。一些特定于 IDE 的设置可能会有所帮助。

关于java - Maven Failsafe 没有选择 testng 测试套件,但 Surefire 可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39858532/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com