Как подсчитать метки по запущенным сценариям в Ruby Cucumber?
У меня есть файл функций с несколькими сценариями и различными тегами для каждого из сценариев. Я запускаю тест Cucumber с помощью команды rake с определенным тегом и создаю собственный HTML-отчет.
Настраиваемый отчет в формате HTML создается в хуке After. Я сталкиваюсь с проблемой, касающейся того, как получить количество сценариев, когда я работаю с командой rake. Я использую
scenario.feature.feature_elements.size
чтобы получить общее количество сценариев, но это дает общее количество сценариев файла объектов, и я пытаюсь получить только количество сценариев, которые помечены определенным тегом.
1 ответ
В хуке "До" ведите подсчет тегов каждого сценария в глобальном порядке при их запуске:
Before do |scenario|
$tag_counts ||= {}
scenario.tags.map(&:name).each do |tag|
$tag_counts[tag] ||= 0
$tag_counts[tag] += 1
end
end
После запуска всех сценариев вы сможете использовать содержимое global в своем настраиваемом репортере.