为什么行号附加到黄瓜命令行用户变量?

时间:2016-12-07 03:55:12

标签: ruby cucumber

这是我的黄瓜命令

cucumber features/xxx.feature -l 409 ENVIRONMENT=LOCAL BROWSER=true

当我执行puts ENV['ENVIRONMENT']时,值为LOCAL:409。它与ENV['BROWSER']相同。

因此,我的脚本失败了,因为不期望这个追加。

1 个答案:

答案 0 :(得分:0)

问题在于解析CLI参数。自original implementation of the lines option以来,这似乎是这样的。您可以在Cucumber::Cli::Options on Line 142-144中看到以下内容:

@args.map! { |a| "#{a}:#{@options[:lines]}" } if @options[:lines]

extract_environment_variables

map!语句将行号添加到其余每个参数中,其中包括:

  1. 指定的要素文件features/xxx.feature(好)
  2. 每个环境变量(坏)
  3. extract_environment_variables需要在map!之前,以便在映射时@args中不包含环境变量。

    除了等待我在Issue 1064中打开的Cucumber中修复错误之外,您唯一的选择似乎是使用FILE:LINE语法而不是-l选项:< / p>

    cucumber features/xxx.feature:409 ENVIRONMENT=LOCAL BROWSER=true