繁体   English   中英

如何在cucumber-jvm中重新运行失败的测试用例?

[英]How to rerun failed test cases in cucumber-jvm?

我正在使用cucumber-jvm + Junit + Maven来运行我的测试用例。 我无法找到任何重新运行失败的测试用例的方法。 我已经使用cucumber-jvm检查了这次Rerunning失败的黄瓜测试 但是解决方法并没有正常工作。

如果您有任何其他方式重新运行测试用例,那将是一件好事。

请参阅使用cucumber-jvmRerunning失败的黄瓜测试中以“您可以将黄瓜选项传递给mvn,如下所示”开头的答案

根据提问者的请求从以上链接复制以下内容

您可以将黄瓜选项传递给mvn,如下所示

 mvn clean verify  -Dcucumber.options="@rerun.txt"

请注意,这里有一个棘手的部分。 如果您在首次运行和重新运行时使用相同的测试运行器(我相信这是您想要的),那么测试运行器将包含类似的内容

@CucumberOptions(plugin = { "rerun:target/rerun.txt"})

如果您使用与下面相同的重新运行文件名激活您使用maven重新运行

 mvn clean verify  -Dcucumber.options="@target/rerun.txt"

然后黄瓜会抱怨它找不到重新运行文件。 为什么? 因为插件“rerun:target / rerun.txt”将首先使用此测试运行器删除该文件。

解决方法是首先复制/重命名文件,然后启动mvn运行

mv target/rerun.txt rerun.txt &&  mvn clean verify  -Dcucumber.options="@rerun.txt"

这实际上就是你想要的。 因为假设文件target / rerun.txt中有5个失败的场景。 经过一些修复后重新运行,其中2个通过。 现在,target / rerun.txt将仅包含剩余的3个失败方案,这将是调试方式的新起点。

使用重新运行插件生成失败的方案列表:

java cucumber.api.cli.Main --plugin rerun:rerun.txt features

这会将每个失败场景的位置写入名为rerun.txt的文本文件中(您可以随意调用它)。 然后,您可以使用输出文件作为下一次运行Cucumber的输入,以指定应执行的场景:

java cucumber.api.cli.Main < rerun.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM