我知道您可以使用以下方法在某个类中运行所有测试:
mvn test -Dtest=classname
但我想运行一个单独的方法和-Dtest=classname。Methodname似乎不起作用。
我知道您可以使用以下方法在某个类中运行所有测试:
mvn test -Dtest=classname
但我想运行一个单独的方法和-Dtest=classname。Methodname似乎不起作用。
当前回答
surefire 2.12有一个问题。 这是我把maven-surefire-plugin从2.12修改到2.11的结果:
mvn test -Dtest=DesignRulesTest 结果: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project pmd: No tests were executed! mvn test -Dtest=DesignRulesTest 结果: [INFO]——maven-surefire-plugin:2.11:test (default-test) @ pmd—— ... 运行net.sourceforge.pmd.lang.java.rule.design.DesignRulesTest 测试运行:5,失败:0,错误:0,跳过:4,时间流逝:4.009秒
其他回答
新版本的JUnit包含Categories运行器: http://kentbeck.github.com/junit/doc/ReleaseNotes4.8.html
但是JUnit的发布过程不是基于maven的,因此maven用户必须手动将其放入他们的存储库中。
在单个测试类中运行一组方法 使用版本2.7.3,您只能在单个测试类中运行n个测试。
注意:junit 4支持。x和TestNG。
必须使用以下语法
mvn -Dtest=TestCircle#mytest test
你也可以使用模式
mvn -Dtest=TestCircle#test* test
从surefire 2.12.1开始,您可以选择多种方法(目前仅限JUnit4X,欢迎补丁)
mvn -Dtest=TestCircle#testOne+testTwo test
查看有关单个测试的链接
这个命令有效!! 请注意,“-DTest”以大写字母“T”开头。
我用我的TestNG(对不起,JUnit不支持这个)测试用例所做的是,我可以为我想要运行的测试分配一个组
@Test(groups="broken")
然后简单地运行'mvn -Dgroups=broken'。
surefire 2.12有一个问题。 这是我把maven-surefire-plugin从2.12修改到2.11的结果:
mvn test -Dtest=DesignRulesTest 结果: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project pmd: No tests were executed! mvn test -Dtest=DesignRulesTest 结果: [INFO]——maven-surefire-plugin:2.11:test (default-test) @ pmd—— ... 运行net.sourceforge.pmd.lang.java.rule.design.DesignRulesTest 测试运行:5,失败:0,错误:0,跳过:4,时间流逝:4.009秒