是否可以从 Cucumber 场景中获取数据,使用 ruby 脚本对其进行解析?

Is it possible to get data from Cucumber scenario, parse it using a ruby script?

我正在尝试弄清楚如何解析功能文件,并获取功能文件中每个场景的名称和描述以放入 CSV 文件中。例如,如果我有这样的黄瓜场景

Feature: Feature Info

Scenario: Name 1
Description 1
    Rest of the cucumber script

Scenario: Name 2
Description 2
    Rest of the cucumber script

我可以取出名称数据和说明,这样我就可以将其放入 CSV 格式的单元格中。这些细胞最终会变成这样:

First Column - Scenario Name Header: Name 1, Name 2
Second Column - Scenario Description Header: Description 1, Description 2

我还没有任何代码,因为我真的不确定从哪里开始。任何帮助都会很棒。

是的,黄瓜功能文件只是一个文本文件。您可以打开它并在 Ruby 中逐行阅读,就像任何其他 ASCII/UTF8 字符文件一样。您可以使用 Ruby 匹配指令对 select 进行分类并提取所需信息。参见 http://ruby-doc.org/core-2.2.3/Regexp.html

由于您是用多行构建一个单元记录,因此您需要保持状态,直到完成每个组的处理。

 File.open( feature_file ).each do |line|
   # do matching here
   # build unit record
   # pass to output
   # rinse and repeat
 end