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

时间:2014-12-26 06:18:26

标签: java unit-testing maven

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

mvn clean test

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

mvn clean test -Dtest=className

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

mvn clean test -Dtest=className#methodName

但我想跑:

  1. 多个测试类(并非所有属于src\test\java
  2. 来自特定测试类的多个测试方法(并非所有属于src\test\java的特定测试类的测试方法)
  3. 我是否可以使用Maven命令实现两个以上的命令?

4 个答案:

答案 0 :(得分:19)

如果使用surefire插件,则可以使用以下选项。

对于您可以使用的多个班级,

mvn -Dtest=TestSquare,TestCi*le test

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

mvn -Dtest=TestCircle#testOne+testTwo test

参考docs

答案 1 :(得分:3)

要使其工作(至少从Windows命令行),我必须在测试参数周围添加引号。

enrichMaybes :: (Traversable t, MonadError e m) => t (e, Maybe a) -> m (t a)
enrichMaybes = traverse (uncurry enrich)

action = enrichMaybes [("escape 1", maybe1), ("escape 2", maybe2), ("escape 3", maybe3)]

(使用maven-surefire-plugin:2.17)

答案 2 :(得分:1)

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

mvn -Dtest=*/doc/* test

答案 3 :(得分:0)

您可以在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
相关问题