Maven Surefire不会重新运行失败的testng测试,我的配置有什么问题?

时间:2018-12-12 00:55:58

标签: maven testng maven-surefire-plugin

我是surefire插件的新手,正在尝试重新设置片状测试。

我的配置如下:

            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M2</version>
            <configuration>
                <suiteXmlFiles>
                    <suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
                </suiteXmlFiles>
                <rerunFailingTestsCount>1</rerunFailingTestsCount>
            </configuration>
        </plugin>

我使用的命令是:

mvn clean test -DsuiteXmlFile=testNG.xml -Dsurefire.rerunFailingTestsCount=2

我知道了

[ERROR] Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 11.12 s <<< FAILURE! - in TestSuite

[ERROR] ieTest1(com.mycompany.testcases.Sample.independentTest)  Time elapsed: 3.839 s  <<< FAILURE!

java.lang.AssertionError: expected [true] but found [false]

但是我可以看到生成的/ target / surefire-reports,但是没有重新运行。任何人都可以帮助弄清楚为什么不重新运行?

2 个答案:

答案 0 :(得分:0)

TestNG提供程序从不支持重新运行,请参阅 https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#rerunFailingTestsCount 我们仅在JUnit4 +中支持它,也请参见教程: https://maven.apache.org/surefire/maven-surefire-plugin/examples/rerun-failing-tests.html 干杯 Tibor17

答案 1 :(得分:0)

根据http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#rerunFailingTestsCount,从3.0.0-M4开始,rerunFailingTestsCount仅适用于JUnit 4+提供程序和JUnit 5+提供程序,不适用于TestNG。

我也在调查此问题,到目前为止,似乎有最完整的解释:https://www.toolsqa.com/selenium-webdriver/retry-failed-tests-testng/