黄瓜+网络:检查文字出现两次

时间:2009-08-20 12:43:04

标签: rspec cucumber webrat

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

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 

我用一个工具测试了正则表达式,它似乎有效,但测试在黄瓜上失败了 我搜索了一些文档,但webrat唯一的文档是API文档;我无法将响应显示为文本。 有什么建议吗?

2 个答案:

答案 0 :(得分:6)

您是否尝试过回复。正文

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

答案 1 :(得分:1)

我不得不修改达米安的答案,让它跨线工作。

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