如何使用Maven运行多个测试类或测试方法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Maven运行多个测试类或测试方法?相关的知识,希望对你有一定的参考价值。

为了运行所有Maven测试,我们可以使用:

mvn clean test

如果我们想运行特定的测试类,我们可以使用:

mvn clean test -Dtest=className

如果我们想从特定的测试类中运行特定的方法,我们可以使用:

mvn clean test -Dtest=className#methodName

但我想跑:

  1. 多个测试类(并非所有属于src\test\java
  2. 来自特定测试类的多种测试方法(并非所有属于src\test\java的特定测试类的测试方法)

是否有Maven命令使用我可以实现的两个以上?

答案

如果使用surefire插件,那么您可以使用以下选项。

对于您可以使用的多个类,

mvn -Dtest=TestSquare,TestCi*le test

对于同一类中的多种方法,您可以使用,

mvn -Dtest=TestCircle#testOne+testTwo test

请参阅docs

另一答案

为了使其工作(至少从Windows命令行),我不得不在测试参数周围添加引号。

mvn -Dtest="TestSquare,TestCi*le" test

(使用maven-surefire-plugin:2.17)

另一答案

如果要从子目录启动所有测试Clases,例如:/ doc /您可以使用命令:

mvn -Dtest=*/doc/* test
另一答案

您可以在TestNG中添加多个类及其组,例如

<groups>
  <run>
    <include name = "checkintest" />
    <include name = "videoSpider" />
    <include name = "xmlTCUploader" />
    <include name = "PALLogin" />
  </run>
</groups>
<classes>
  <class name="SeleniumUC"/>
  <class name="PALTestCasesSuite"/>
</classes>

在此之后,您可以将这些组与Maven一起使用 -

mvn -Dgroups=PALLogin test

以上是关于如何使用Maven运行多个测试类或测试方法?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Maven,我如何运行特定的测试?

如何使用 JVM 参数在终端中通过 maven 运行 junit 测试

如何使用 Maven 运行特定包中的所有测试?

如何通过maven测试Jenkins项目下的特定模块?

单元测试

需要帮助在 junit 运行中使用 cucumber、selenium、maven、TestNG 运行跨浏览器(多浏览器)测试