从maven运行TestNG套件获取错误:maven-surefire-plugin:test failed:testSuiteXmlFiles0具有null值

问题描述 投票:5回答:2

我在这里看到很多关于使用Maven surefire插件运行TestNG套件的帖子。示例说要将其添加到pom中:

<configuration>
    <suiteXmlFiles>
        <suiteXmlFile>${testSuite}</suiteXmlFile>
    </suiteXmlFiles>
</configuration>

然后这到命令行:

mvn test -DtestSuite=myCustomSuite.xml

我的问题是它将你绑定到使用TestNG套件...例如,如果我想运行这样的组:

mvn test -Dgroups=myGroup

我收到此错误:

maven-surefire-plugin:2.18.1:测试失败:testSuiteXmlFiles0具有空值

我希望能够从命令行运行套件路径或组。

java maven testng
2个回答
7
投票

您可以:不使用属性的surefire配置,而是:

  1. 删除surefire配置并用mvn test -DtestSuite=myCustomSuite.xml替换mvn test -Dsurefire.suiteXmlFiles=myCustomSuite.xml。见Surefire documentation
  2. 继续使用mvn test -Dgroups=myGroup

由于将删除surefire配置,testSuiteXmlFiles0 has null value选项将不会出现错误-Dgroup

您还可以使用maven配置文件,它将配置surefire插件,具体取决于您传递给maven的属性。

<profiles>
  <profile>
    <id>suite</id>
    <activation>
      <property>
        <name>testSuite</name>
      </property>
    </activation>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <suiteXmlFiles>
          <suiteXmlFile>${testSuite}</suiteXmlFile>
        </suiteXmlFiles>
      </configuration>
    </plugin>
  </profile>
</profiles>

0
投票

出于某种原因,接受的答案对我不起作用。我使用了类似的东西。

mvn test -Dgroups=myGroup -DtestSuite=" "
© www.soinside.com 2019 - 2024. All rights reserved.