来自 Rakefile 的 Cucumber 测试报告

Cucumber test report from Rakefile

我有一组 Ruby/Cucumber 测试。当 运行 在 IDE.

中时,所有测试 运行 成功

当我使用此 CLI 命令执行测试时,会生成测试 运行 和测试报告。

$ cucumber --format progress --format html --out=features_report.html -r features --tags '@this or @that' features

我需要从 Rakefile 执行测试,以便 运行 并行测试。我可以 运行 他们用 rake local

调用下面的 Rakefile

desc 'Run the functional test suite locally'
  task :local do

test_args = ["-n", '1', 
             "-o" "-t '@this or @that'",
             "--type", 
             "cucumber", 
             '--',
             '-f',
             'progress', 
             '--',
             'features',]

    ParallelTests::CLI.new.run(test_args)
  end

但是我不知道生成测试报告的额外 options/arguments 去了哪里。

如果我将 Rakefile 中的报告位按照它们在工作 CLI 命令中的方式分组

             'progress',
              '-f',
              'HTML', 
             '--out',
             'first.html',

我收到这个错误:

Error creating formatter: HTML (LoadError)

或者,如果我这样做 "-o" "-t '@this or @that' --out first.html --format HTML",

我明白了:

All but one formatter must use --out, only one can print to each stream (or STDOUT) (RuntimeError)

生成测试报告的参数在 test_args 中的什么位置,它们看起来像什么?

提前致谢。

您可以在 cucumber.yml 文件中创建 profile 并在配置文件下传递参数,如下所示。

default:
  --no-source --no-color
  --format progress --format html --out=features_report.html

现在 运行 你的 rake 任务照原样进行,cucumber 将从 cucumber.yml 文件中选取参数并生成报告。