Ruby PageObject/Cumber字符串输入不正确

Ruby PageObject/Cumber字符串输入不正确,ruby,cucumber,page-object-gem,Ruby,Cucumber,Page Object Gem,在我的场景大纲中,我有以下内容 Examples: | user | password | from | to | amount | date | message | | joel10 | lolpw12 | bankA | bankB | $100 | 1/30/2015 | Transfer Success. | And(/^the user inputs

在我的场景大纲中,我有以下内容

Examples:
    | user   | password | from            | to            | amount | date      | message           |
    | joel10 | lolpw12  | bankA           | bankB         | $100   | 1/30/2015 | Transfer Success. |
And(/^the user inputs fields (.*), (.*), (.*)$/) do |from, to, amount|
  on(TransferPage).from = /#{from}/
  on(TransferPage).to = /#{to}/
  on(TransferPage).amount = /#{amount}/
  on(TransferPage).date = /#{date}/
end
在我的步骤定义中,我有以下内容

Examples:
    | user   | password | from            | to            | amount | date      | message           |
    | joel10 | lolpw12  | bankA           | bankB         | $100   | 1/30/2015 | Transfer Success. |
And(/^the user inputs fields (.*), (.*), (.*)$/) do |from, to, amount|
  on(TransferPage).from = /#{from}/
  on(TransferPage).to = /#{to}/
  on(TransferPage).amount = /#{amount}/
  on(TransferPage).date = /#{date}/
end
表中的FROM、TO和AMOUNT都是正确的,但当它输入日期时,就会显示出来(?-mix:1/30/2015)

为什么会发生这种情况以及如何修复?

当您执行
/{date}/
时,您将获取解析步骤定义返回的值,然后将其转换为正则表达式:

/#{date}/.class
#=> Regexp
您可能希望将该值保留为其原始字符串格式:

on(TransferPage).date = date

你能添加步骤定义的代码吗:这会有帮助的。上面是有问题的步骤定义,除此之外我没有太多。它只是将表中的数据输入到输入字段中。我很惊讶其他输入没有这个问题,因为它们也被转换为regexp。日期实际上来自哪里?它不是来自您的步骤定义名称,因为它只从(TransferPage)收集、到和金额。是的。日期=工作日期!非常感谢您的帮助:)