Я начинаю исследовать BDD и Cucumber. Итак, я хочу проверить, отображает ли моя страница содержание двух статей, которые у меня есть. Это шаг я использую чек, если содержание есть:Проверить содержимое веб-страницы в тесте огурца
Then /^I should see "([^"]*)"$/ do |desc|
page.should have_content desc
expected = Article.find_by_description(desc)
page.should have_content(expected.navision_code)
page.should have_content(expected.category.name)
end
Обычно это должно сделать трюк, я предполагаю, но когда я запускаю тест, который я получил сообщение об ошибке:
expected there to be content "---\n- tenetur\n" in "Alfa Paints Order System\n\n\n\nAlfa Paints\n\n\n\nSeth abernathy, admin\n\n\nVerander paswoord\n\nLogout\n\n\n\n\n\n\n\n\n\n\n\nAlfa Paints\nordering system\n\n\n\n\n\nOverzicht van alle artikelen\n\n\n\nBack\n\n\n\n\n\n\nProduct ID\nBeschrijving\nCategorie\n3001\nPaint\n---\n- tenetur\n\n3002\nBrush\n---\n- tenetur\n\n\n\n\n\n\n\n\n\n\n
(RSpec::Expectations::ExpectationNotMetError)
./features/step_definitions/admin_articles_steps.rb:41:in `/^I should see "([^"]*)"$/'
features/admin_articles.feature:10:in `Then I should see "Paint"'
Как вы можете видеть, я ожидаю, что краска и сообщение об ошибке покажут, что содержимое внутри. Но каким-то образом огурец не узнает его.
Я новичок в огурце, и я, вероятно, что-то пропустил, но, возможно, кто-то может помочь мне на моем пути.
Похоже Капибара не очень хорошо играть с новой строкой. Вы могли бы попытаться удалить их с чем-то вроде этого: http://praktikanten.brueckenschlaeger.org/2011/11/15/working-in-cucumber-with-new-lines-and-have_content – DVG
Я не думаю, что вам нужно чтобы определить «целую» статью, есть ли «успешный» тест, возможно, проверьте на случайные строки в статье? – omarvelous