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

时间:2013-05-08 05:34:16

标签: ruby cucumber gherkin

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

所以我在黄瓜步骤中尝试以下内容

If I enter:
|company_name|phone|
||#{nil}|

我得到{"company_name"=>"", "phone"=>"\#{nil}"}

|company_name|phone|
| | |

我得到{"company_name"=>"", "phone"=>""}

|company_name|phone|
|\s|\nil|

我得到{"company_name"=>"\\s", "phone"=>"\nil"}

|company_name|phone|
|" "|' '|

我得到{"company_name"=>"\" \"", "phone"=>"' '"}

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

1 个答案:

答案 0 :(得分:2)

没有值可以放入黄瓜表中,默认情况下会被解释为nil。您可以使用cucumber Transform来执行您想要的操作。例如,如果您想将空字符串解释为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

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