如何从黄瓜桌获得白色空间或零物体?

mef*_*ef_ 5 ruby cucumber gherkin

我尝试在测试中传递空格字符.

所以我在黄瓜步骤中尝试以下方法

If I enter:
|company_name|phone|
||#{nil}|
Run Code Online (Sandbox Code Playgroud)

我明白了 {"company_name"=>"", "phone"=>"\#{nil}"}

|company_name|phone|
| | |
Run Code Online (Sandbox Code Playgroud)

我明白了 {"company_name"=>"", "phone"=>""}

|company_name|phone|
|\s|\nil|
Run Code Online (Sandbox Code Playgroud)

我明白了 {"company_name"=>"\\s", "phone"=>"\nil"}

|company_name|phone|
|" "|' '|
Run Code Online (Sandbox Code Playgroud)

我明白了 {"company_name"=>"\" \"", "phone"=>"' '"}

我应该在表中添加以下哈希值{"company_name"=>" ", "phone"=>" "}

Bea*_*rtz 2

默认情况下,您无法在 Cucumber 表中放入任何值nil。您可以使用黄瓜变换来做您想做的事。例如,如果您想将空字符串解释为nil

Transform /^table:company_name,phone$/ do |table|
  table.hashes.map! do |h|
    h.each_pair do |k,v|
      h[k] = nil if v == '' #here, you can map any value you want to be nil
    end
  end

  table
end
Run Code Online (Sandbox Code Playgroud)

将其放入支持文件夹中的文件中。map_column!如果您只想转换一列,还可以使用其他方法,例如等。