使用Cucumber和Capybara传递多个参数

dat*_*ser 3 ruby ui-testing cucumber capybara

嗨,我需要帮助Cucumber到Capybara正则表达式匹配.

所以我想在下面有一个Cucumber步骤:

I should see "10:00, 11:00, 12:00" under "div1"
Run Code Online (Sandbox Code Playgroud)

我想通过"10:00,11:00.12:00".在这一步,我想做一些事情:

Then /^I should see "([^\"]*)"+ under "([^\"]*)"$/ do | slots, selector_name |
     slots.each do |value|
     end
end
Run Code Online (Sandbox Code Playgroud)

所以基本上我想传入逗号分隔的字符串列表,并且在步骤定义中我想将此列表视为字符串数组.这可能吗?

谢谢!

Dyl*_*kow 5

您可能想要做的就是让步骤捕获所有三次成为一个slots项目(就像您现在一样),然后执行此操作:

slots.split(", ").each do |value|
  ...
end
Run Code Online (Sandbox Code Playgroud)

看一下这个Railscast的例子(它的内容类似于"鉴于我有一篇名为Pizza,Breadsticks的文章"一步).