Rspec 黄瓜+;webrat:检查两次出现的文本

Rspec 黄瓜+;webrat:检查两次出现的文本,rspec,cucumber,webrat,Rspec,Cucumber,Webrat,我正在开发一个rails应用程序来自学BDD和测试。使用cucumber+webrat+rspec,在Railcast视频tuts之后。 在这个应用程序中,测验有很多问题。我正在测试的视图应该两次不连续地呈现问题。(此处不测试连续性) 我有一个黄瓜场景,旨在检查这一点 Given quiz titled "Pearl Jam" has questions named "Corduroy, Dissident" When I go to the experiment page for quiz t

我正在开发一个rails应用程序来自学BDD和测试。使用cucumber+webrat+rspec,在Railcast视频tuts之后。 在这个应用程序中,测验有很多问题。我正在测试的视图应该两次不连续地呈现问题。(此处不测试连续性) 我有一个黄瓜场景,旨在检查这一点

Given quiz titled "Pearl Jam" has questions named "Corduroy, Dissident"
When I go to the experiment page for quiz titled "Pearl Jam"
Then I should see "Corduroy" twice
And I should see "Dissident" twice 
我的步骤定义如下:

Then /^I should see "([^\"]*)" twice$/ do |text|
  regexp = Regexp.new(text + "(.+)" + text)
  response.should contain(regexp)
end 
我用一个工具测试了正则表达式,它似乎有效,但在cucumber上测试失败。
我在谷歌上搜索了一些文档,但webrat唯一的文档是API文档;我无法将响应显示为文本。
有什么建议吗?

你试过回应吗。身体

Then /^I should see "([^\"]*)" twice$/ do |text|
  regexp = Regexp.new(text + "(.+)" + text)
  response.body.should contain(regexp)
end

我不得不修改Damian的答案,让它跨线工作

Then /^I should see "([^\"]*)" twice$/ do |text|
  regexp = Regexp.new(text + "(.+)" + text, Regexp::MULTILINE)
  response.body.should contain(regexp)
end

当你陷入代码中时,很容易错过这些东西!