Java 如何通过Maven命令重新运行TestNG失败的测试

Java 如何通过Maven命令重新运行TestNG失败的测试,java,maven,testing,testng,Java,Maven,Testing,Testng,基本上,标题说明了一切,想象一下我运行了一个测试套件,现在一些测试失败了,我想重新运行这些测试。我知道surefire插件生成了testng failed.xml文件,但我不知道如何通过Maven将该文件作为参数传递给testng。这是我尝试过的,但不幸的是,这些命令都不起作用(它们再次运行所有测试) 您应该尝试正确的参数,即 虽然有点晚了,但对于所有偶然发现这个问题的人来说,如果您添加了适当的maven生命周期,那么答案是有效的 mvn -Dsurefire.suiteXmlFiles=<

基本上,标题说明了一切,想象一下我运行了一个测试套件,现在一些测试失败了,我想重新运行这些测试。我知道surefire插件生成了
testng failed.xml
文件,但我不知道如何通过Maven将该文件作为参数传递给testng。这是我尝试过的,但不幸的是,这些命令都不起作用(它们再次运行所有测试)


您应该尝试正确的参数,即


虽然有点晚了,但对于所有偶然发现这个问题的人来说,如果您添加了适当的maven生命周期,那么答案是有效的

mvn -Dsurefire.suiteXmlFiles=<path to testng-failed.xml> test
mvn-Dsurefire.suiteXmlFiles=test

假设您是项目的根,并且项目具有标准布局,则可以运行:

mvn -Dsurefire.suiteXmlFiles=target/surefire-reports/testng-failed.xml test

您正在运行单元测试还是集成测试?如果你正在运行集成测试,你应该改用maven failsafe插件。这也不起作用,我甚至将文件移动到了不同的文件夹并将其传递给了这个参数,但这也不起作用。对于我来说,在Surfere 2.21.0和TestNG 6.11中正确工作
mvn -Dsurefire.suiteXmlFiles=<path to testng-failed.xml> test
mvn -Dsurefire.suiteXmlFiles=target/surefire-reports/testng-failed.xml test