огурец + веб-крыса: проверка текста, появляющегося дважды

Я работаю над приложением rails для самообучения BDD и тестирования в целом. Используем огурец + webrat + rspec, после видео-трансляций 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 

Я протестировал регулярное выражение с помощью инструмента, и, похоже, он работает, но тест не работает на огурце.
Я искал в Google некоторую документацию, но единственная документация webrat - это документы API; Мне не удалось получить ответ в виде текста. Любое предложение?


person nutsmuggler    schedule 20.08.2009    source источник


Ответы (2)


Вы пробовали response. body

Then /^I should see "([^\"]*)" twice$/ do |text|
  regexp = Regexp.new(text + "(.+)" + text)
  response.body.should contain(regexp)
end
person Damian    schedule 28.08.2009
comment
Эти вещи легко упустить, если увязнуть в коде! - person Damian; 29.08.2009

Мне пришлось изменить ответ Дамиана, чтобы он работал по всему миру.

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