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

Posted

技术标签:

【中文标题】使用 Maven,我如何运行特定的测试?【英文标题】:Using Maven, how do I run specific tests? 【发布时间】:2011-11-25 23:40:31 【问题描述】:

我的项目中有数千个单元测试,我想选择其中的一个或几个从命令行运行。执行此操作的命令是什么?

【问题讨论】:

按方法还是按类?显式方法:***.com/questions/1873995/… 【参考方案1】:

您可以通过将 -Dtest=<class> 标志传递给 Maven 来运行一个类中的所有测试:

mvn clean test -Dtest=xxxxTest

从 Surefire 2.8 开始,您还可以运行单个测试,例如在单元测试中使用方法 testA,使用相同的标志:

mvn clean test -Dtest=xxxxTest#testA

可以在Maven Surefire documentation > Running a Single Test 中找到更多按名称模式或名称列表运行多个测试的示例。

【讨论】:

从maven.apache.org/surefire/maven-surefire-plugin/examples/… 出现,您也可以选择同时指定测试类方法名称,对吗? 类列表怎么样? IE。 5 或 6 个测试课程? 虽然 Maven Surefire 文档的标题是“运行单个测试”,但它也解释了如何运行多个测试。例如,mvn -Dtest=TestSquare,TestCi*le test【参考方案2】:

请阅读这篇maven surefire plugin manual。基本上你可以做到以下几点:

mvn -Dtest=*PerformanceTest clean test 

仅运行以 PerformanceTest 结尾的所有测试类。

【讨论】:

以上是关于使用 Maven,我如何运行特定的测试?的主要内容,如果未能解决你的问题,请参考以下文章

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

如何按特定顺序运行 Maven 测试? [复制]

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

当特定的弹簧配置文件处于活动状态时,如何防止运行测试?

特定测试套件的 Maven 运行命令

我可以通过 maven 运行特定的 testng 测试组吗?