我没有使用TestNG。我想使用Maven自动重新运行失败的测试场景。
当我触发mvn时,应该运行test并为所有失败的场景创建rerun.txt。我可以在运行时创建rerun.txt,但不能自动运行失败的场景。
testrunner.java
@CucumberOptions(
features = "src/main/features/",
plugin = {"pretty", "html:target/cucumber-report", "json:target/cucumber-
report/report.json", "rerun:target/rerun/rerun.txt"},
tags = {"@test"},
pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*testrunner*.java</include>
</includes>
</configuration>
</plugin>
此外,我知道我可以为重新运行创建另一个测试运行程序,并手动运行它。当我这样做并将其添加到pom.xml上时,testReRunner有时运行时不会在rerun.txt文件中创建失败的测试用例。
maven-surefire-plugin
具有重新运行失败测试的内置选项。
只需在surefire插件的<configuration>
中添加<rerunFailingTestsCount>1</rerunFailingTestsCount>