Ruby 重新运行后如何报告黄瓜测试?

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

我有一套使用并行测试在持续集成中启动的测试。部署之后,环境有点不稳定,因此当套件完成时,失败的测试将重新启动(此时环境再次稳定)

基本上,只有一个jenkins构建,它将执行以下操作:

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