【问题标题】:Maven surefire/failsafe TestNG 7.4.0 parallel Error 'void org.testng.xml.XmlSuite.setParallel(java.lang.String)'Maven surefire/failsafe TestNG 7.4.0 并行错误'void org.testng.xml.XmlSuite.setParallel(java.lang.String)'
【发布时间】:2021-06-26 14:23:19
【问题描述】:

从 TestNG 4.6.0 升级到 4.7.0 时,尝试运行 FailSafe 目标时出现以下错误。

mvn verify
...
[INFO] --- maven-failsafe-plugin:3.0.0-M5:integration-test (default) @ project ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running TestSuite
[ERROR] 'void org.testng.xml.XmlSuite.setParallel(java.lang.String)'
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

pom.xml 的相关部分如下所示:

    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>7.4.0</version>            
    </dependency>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>3.0.0-M5</version>
        <configuration>
          <failIfNoTests>true</failIfNoTests>
          <parallel>methods</parallel>
          <threadCount>${threads}</threadCount>
          <includes>
            <include>**/*Test.java</include>
            <include>**/*Tests.java</include>
          </includes>
          <groups>${groups}</groups>
          <argLine>${jacocoArgLine}</argLine>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.apache.maven.surefire</groupId>
            <artifactId>surefire-testng</artifactId>
            <version>3.0.0-M5</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

我认为这与删除 TestNG 中的功能有关,但到目前为止,我只发现此修复 https://github.com/apache/maven-surefire/pull/339 似乎表明它位于尚未发布的 3.0.0-M6 中。

我该如何解决这个问题?

【问题讨论】:

    标签: java maven testng maven-failsafe-plugin


    【解决方案1】:

    XmlSuite.setParallel(String) 在 TestNG 7.3.0 中是 @Deprecated。这是gone in 7.4.0。我会尝试切换回:

        <dependency>
          <groupId>org.testng</groupId>
          <artifactId>testng</artifactId>
          <version>7.3.0</version>            
        </dependency>
    

    【讨论】:

      【解决方案2】:

      我们在 Surefire 3.0.0-M6 中修复了此问题,但您必须等待发布。

      【讨论】:

      • 好的,是否有针对此的 ETA/路线图?
      • 是的,有路线图,只是谷歌“maven surefire 插件”。
      • 啊我明白了,但是那里没有日期,好像这个问题已经转移到M7了? maven.apache.org/surefire/maven-surefire-plugin
      • 啊,我的错,它在路线图上的 M7 上,但一年多前就已经修复了。我猜是这个问题issues.apache.org/jira/browse/SUREFIRE-1535 是否计划很快发布新版本,以便人们可以使用修复和功能?
      • 我们正在完成M6的开发。我们在 CI 系统中发现了这些问题,并且我们已经修复了一系列关于用户社区可以看到的插件稳定性的问题。路线图正在进行中,我们希望将 M6 与支持的 JDK18 版本一起削减到 3 月。同时,我们将大量已修复的问题向后移植到 2.22.3,该版本将很快发布并支持 JDK17。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-11
      • 2015-05-13
      • 2015-09-09
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多