我知道您可以使用以下方法在某个类中运行所有测试:
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秒
其他回答
这个命令有效!! 请注意,“-DTest”以大写字母“T”开头。
您可以使用以下语法运行特定的测试类和方法:
完整包:mvn test -Dtest="com.oracle.tests.**" mvn test -Dtest=CLASS_NAME1 mvn test -Dtest=CLASS_NAME1#METHOD_NAME1 来自多个类的多个方法:mvn test -Dtest=CLASS_NAME1#METHOD_NAME1,CLASS_NAME2#METHOD_NAME2
您可以运行单个测试类,但不能运行测试类中的单个方法。使用类的简单名称,而不是类的完全限定名称。如果你在"org。sontype。test "中有一个测试。MyTest”,这是你唯一想要运行的测试,你的命令行看起来是这样的:
mvn test -Dtest=MyTest
我尝试了这个线程中提供的几个解决方案,但它们不适用于依赖于不同的模块。在这种情况下,我必须使用额外的参数从根模块运行mvn: -am(——same -make),它告诉maven构建您的测试模块所依赖的模块,并且-DfailIfNoTests=false,否则会出现“没有测试被执行!”错误。
mvn test -pl B -Dtest=MyTestClass#myTest -am -DfailIfNoTests=false
root目录下的Pom.xml部分:
<modules>
<module>A</module>
<module>B</module>
<modules>
B取决于A。
我用我的TestNG(对不起,JUnit不支持这个)测试用例所做的是,我可以为我想要运行的测试分配一个组
@Test(groups="broken")
然后简单地运行'mvn -Dgroups=broken'。