我知道可以使用-Dtest=MyTest
. 但是是否可以在该类中运行特定的测试?
即如果MyTest
定义testFoo()
and testBar()
,有没有办法指定只testfoo()
应该运行?
我知道在 IDE 中执行此操作非常容易,但我偶尔需要在另一台服务器上的命令行上运行测试。
我知道可以使用-Dtest=MyTest
. 但是是否可以在该类中运行特定的测试?
即如果MyTest
定义testFoo()
and testBar()
,有没有办法指定只testfoo()
应该运行?
我知道在 IDE 中执行此操作非常容易,但我偶尔需要在另一台服务器上的命令行上运行测试。
使用 2.7.3 版,您只能在单个测试类中运行 n 个测试。
注意:junit 4.x 和 TestNG 支持它。
您必须使用以下语法
mvn -Dtest=TestCircle#mytest test
你也可以使用模式
mvn -Dtest=TestCircle#test* test
它将从 Surefire 2.8 开始提供,请参阅SUREFIRE-577
不要认为它可用。您可以通过传递一些系统属性并忽略基于属性值的测试执行来解决它。然而,它似乎并没有增加很大的附加值。还有提供附加功能的 TestNG。
http://maven.apache.org/plugins/maven-surefire-plugin/examples/testng.html
要一次执行一个测试,请运行 mvn test
mvn -Dtest=MyUnitlTest test
一次执行一个测试并从中执行特定方法:
mvn -Dtest=MyUnitTest#method test
其中 MyUnitTest 是您的测试的名称,#method 是您的方法的名称。
使用surefire执行测试:
mvn surefire:test