Maven Surefire:运行一个单元测试

问题描述:

我知道可以使用-Dtest=MyTest运行特定的测试类。但是是否有可能在内运行特定的测试Maven Surefire:运行一个单元测试

I.e.如果MyTest定义了testFoo()testBar(),有没有一种方法可以指定只有testfoo()应该运行?

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

这将作为神火2.8,请参阅SUREFIRE-577

不要认为它可用。您可以通过传递一些系统属性来解决该问题&忽略基于属性值的测试执行。但它似乎并没有增加很大的增值。还有TestNG,它提供了额外的功能。

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

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

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

mvn -Dtest=MyUnitlTest test 

从它执行一次在一个测试和具体方法:

mvn -Dtest=MyUnitTest#method test 

其中MyUnitTest是你的测试和#method的名字就是你的方法的名称。

与神火执行测试:

mvn surefire:test