【问题标题】:TestNG specific testsuite not runningTestNG 特定的测试套件未运行
【发布时间】:2014-01-02 22:42:37
【问题描述】:

我想使用 maven 命令从命令行运行特定的测试套件。我正在使用 TestNg 框架。

我的 pom 有以下配置设置:

<profiles>
<profile>
<id>selenium-tests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<!-- 
 <parallel>methods</parallel>
          <threadCount>6</threadCount>
 -->
<!-- <suiteXmlFiles>
<suiteXmlFile>src/test/java/com/kanban/testng/factory.xml</suiteXmlFile>
</suiteXmlFiles> -->

<suiteXmlFiles>
    <suiteXmlFile>${suiteFile}</suiteXmlFile>
</suiteXmlFiles>

</configuration>
</plugin>     
</plugins>
</build>
</profile>
</profiles>

在我正在运行的命令行上:

mvn clean test -DsuiteFile=src/test/java/com/kanban/testng/factory.xml

理想情况下,这应该只运行 factory.xml 测试套件,但它会运行项目中的所有测试。

如果我遗漏了什么,任何人都可以提出建议。

【问题讨论】:

  • 为了安全起见 - 将 factory.xml 复制到您的当前目录并以mvn clean test -DsuiteFile=factory.xml 运行命令。也请在此处发布 factory.xml 文件的内容。

标签: maven testng


【解决方案1】:

感谢弗拉德的回复:

这是对我有用的解决方案:

转到根 pom 所在的 pom 目录 然后执行: mvn test -DsuiteFile="src/test/java/com/kanban/testng/factory.xml" -P'selenium-tests'

双引号中的内容是必须执行的测试套件的路径,单引号中的内容是您的 maven-surefire-plugin 的配置文件 ID

【讨论】:

    【解决方案2】:

    可能 Maven 会选择类名中带有“Test”一词的任何内容。

    那可能是因为Maven Surefire Plugin's default inclusion patterns:

    默认情况下,Surefire 插件会自动包含所有具有以下通配符模式的测试类:

    "**/Test*.java" - 包括它的所有子目录和所有以 "Test" 开头的 java 文件名。 “**/*Test.java” - 包括其所有子目录和所有以“Test”结尾的 java 文件名。 “**/*TestCase.java” - 包括其所有子目录和所有以“TestCase”结尾的 java 文件名。

    而且,如您所知,“套件 XML 文件配置将覆盖包含和排除模式并运行套件文件中的所有测试。”

    我无法确定,但读取 factory.xml 文件时似乎存在一些问题(未找到文件、解析、编码问题等),Surefire 回退到包含/排除策略。

    你可以做一个小测试来证明这一点。在“配置”中添加“包含”和/或“排除”部分,并排除除随机类之外的所有类。 如果运行该随机类,则简单地忽略“suiteXmlFiles”。

    希望这会缩小范围。

    (从similar topic复制我的答案)

    别忘了指定个人资料-Pselenium-tests

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-25
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      • 2011-12-24
      • 2015-02-18
      • 2020-12-17
      • 1970-01-01
      相关资源
      最近更新 更多