Maven Surefire:运行单个单元测试

时间:2011-02-28 23:24:19

标签: java maven maven-surefire-plugin unit-testing

我知道可以使用-Dtest=MyTest运行特定的测试类。但是可以在那个类中运行特定的测试吗?

即。如果MyTest定义testFoo()testBar(),是否有办法指定只应运行testfoo()

我知道在IDE中执行此操作非常简单,但我偶尔需要在另一台服务器上的命令行上运行测试。

4 个答案:

答案 0 :(得分:5)

来自Running a Single Test Using Maven Surefire Plugin

  

对于2.7.3版,您只能在一个测试类中运行n个测试。

     

注意:junit 4.x和TestNG支持它。

     

您必须使用以下语法

     

mvn -Dtest=TestCircle#mytest test

     

您也可以使用模式

     

mvn -Dtest=TestCircle#test* test

答案 1 :(得分:3)

从Surefire 2.8开始提供,请参阅SUREFIRE-577

答案 2 :(得分:1)

不要认为它可用。你可以通过传递一些系统属性来解决它。忽略基于属性值的测试执行。但它似乎没有添加很大的价值。 TestNG还提供其他功能。

http://maven.apache.org/plugins/maven-surefire-plugin/examples/testng.html

答案 3 :(得分:0)

要一次执行一个测试,请运行mvn test

mvn -Dtest=MyUnitlTest test

一次执行一个测试及其中的特定方法:

mvn -Dtest=MyUnitTest#method test

其中MyUnitTest是您的测试名称,#method是您方法的名称。

使用surefire执行测试:

mvn surefire:test