如何计算Ruby Cucumber中运行场景的标签?

时间:2016-02-05 00:22:31

标签: ruby tags cucumber acceptance-testing atdd

我有一个功能文件,其中包含针对每个方案的多个方案和不同标记。我正在使用带有特定标记的rake命令运行我的Cucumber测试,并且正在创建自定义HTML报告。

自定义HTML报告在After hook中创建。我在使用rake命令运行时如何获取方案的计数时遇到问题。

scenario.feature.feature_elements.size

获取总场景的计数,但是这会给出要素文件的总场景数,并且我只想获得用特定标记标记的场景计数。

1 个答案:

答案 0 :(得分:1)

在Before钩子中,在运行它们时,将每个场景的标签计数保存在全局:

Before do |scenario|
   $tag_counts ||= {}
   scenario.tags.map(&:name).each do |tag|
     $tag_counts[tag] ||= 0
     $tag_counts[tag] += 1
   end
end

在所有方案运行后,您应该能够在自定义报告器中使用全局内容。