黄瓜变换方法不会触发

时间:2013-05-20 04:51:27

标签: ruby cucumber

我尝试使用Transform方法在我的步骤定义中将字符串转换为符号。 但它并没有触发。

这是我的步骤:

Given(/^I log in to "(.*?)" project$/) do |project|
  #here I expect project to be symbol
end

变换方法

Transform /^I log in to "(.*?)"$/ do |project|
  project = :my_symbol
end

我在步骤定义之前放置Transform,但我仍然得到String而不是符号。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

documentation for transforms中,示例正则表达式的编写没有字符串的开始和结束锚点。在变换表达式中放置字符串结尾$锚点会阻止它与步骤匹配。

尝试删除转换中的锚点,即:

Transform /I log in to "(.*?)"/ do |project|
  project = :my_symbol
end

同时确保您使用相同的内容括号:

Given(/^(I log in to ".*?") project$/) do |project|
  #here I expect project to be symbol
end