Ruby 重新运行后如何报告黄瓜测试?
我有一套使用并行测试在持续集成中启动的测试。部署之后,环境有点不稳定,因此当套件完成时,失败的测试将重新启动(此时环境再次稳定) 基本上,只有一个jenkins构建,它将执行以下操作:Ruby 重新运行后如何报告黄瓜测试?,ruby,junit,jenkins,report,watir,Ruby,Junit,Jenkins,Report,Watir,我有一套使用并行测试在持续集成中启动的测试。部署之后,环境有点不稳定,因此当套件完成时,失败的测试将重新启动(此时环境再次稳定) 基本上,只有一个jenkins构建,它将执行以下操作: task :jenkins1_with_rerun do selenium_successful = system "bundle exec parallel_cucumber features/web/ -o \"-p jenkins1\" -n 3" p 'start rerun' rerun_success
task :jenkins1_with_rerun do
selenium_successful = system "bundle exec parallel_cucumber features/web/ -o \"-p jenkins1\" -n 3"
p 'start rerun'
rerun_successful = run_rake_task("features:jenkins_rerun")
unless selenium_successful || rerun_successful
raise 'Cucumber tests failed'
end
end
第一次执行将启动带有并行测试的套件。以下是黄瓜简介:
jenkins1:
<%= std_opts %>
HEADLESS=true
--tags @part1
--tags ~@wip
--format junit
--out log/junit
--format ParallelTests::Cucumber::FailuresLogger
--out parallel_cucumber_failures.log
现在。一切正常。唯一的问题是我使用jenkins中的junit报告来绘制失败和成功测试的图表。我可能有这样的报告:
-------------------测试--KO--OK
第一次执行--75---10---65
重新运行--------10--------0---10
这是100%绿色,因为所有问题都是部署后的不稳定造成的。所以我希望junit在jenkins的报告中说,已经启动了75个测试,75个OK,0个KO,或者其他类似的测试
现在,第一次执行的junit报告说,在75个测试中,我有10个KO;第二个junit说,在10个测试中,有0个KO
有什么好的解决办法?可以混合使用两个Junit报告的结果吗
我还将接受能够在jenkins中显示两个junit报告,每个报告都有一个图表。但我认为jenkins只允许显示一个junit报告图。我终于解决了这个问题 解决方案是创建一个“解析器”(使用RegEx)通过重新运行生成的Junit文件进行搜索,然后转到原始/首次运行的Jnuit文件,并重写重新运行期间通过的测试的结果
最后,如果重新运行时一切正常,junit图将100%呈绿色,并且不会出现故障警报。请查看博客。这是一种非常好的方法,可以轻松生成报告。您好,关于您是如何实现这一点的,还有更多详细信息吗?现在正试着做同样的事情,谢谢
jenkins_rerun:
ENVIRONMENT=master
SCREENSHOT=true
HEADLESS=true
--format pretty
--no-source
--format junit
--out log/junit_rerun
@parallel_cucumber_failures.log