Тест на огурец и капибару не пройден, как мне отладить? - PullRequest
1 голос
/ 14 августа 2011

Я новичок в тестировании с капибарой и огурцом.Я посмотрел несколько действительно полезных видео и написал свой первый тест.Тем не менее, указанный тест не пройден, и я не уверен, почему.

Я считаю, что у меня есть все драгоценные камни, которые мне нужны, и я достаточно уверен, что все конфиги сделаны в соответствии с документацией.

Но когда я запускаю эту функцию, происходит сбой при пропущенном контенте, но я знаю, что контент находится в правильном представлении, и я знаю, что представление обслуживается правильно.Я могу перемещаться вручную, и это выглядит так, как должно, но шаги cucumber / capybara говорят, что он не может найти содержимое.

Для моего определения шага у меня есть:

When I visit the homepage
  get root_path
  response.should have_content("Log In")
end

В макете приложения есть слова «Вход», которые показывают, когда пользователь не вошел в систему.

при запуске функции появляется сообщение об ошибке:

expected there to be content "Log In" in ""

Есть ли способ узнать, что такое HTML, который отображается в ответе внутри теста?Я пытался сделать пут (ответ), но ничего не сделал.Любая другая причина, это может быть неудача, которую я не рассматриваю?

Ответы [ 3 ]

4 голосов
/ 17 августа 2011

В дополнение к функциям save_and_open_page я нахожу, что мне нравится использовать камень запуска немного больше.Кажется, больше огурца.

Если вы добавите в свой Gemfile

gem 'launchy'

И, конечно, запустите

bundle install

Вы можете просто в своем тесте на огурец написать:

When ...
Then show me the page
Then I should see ...

Затем покажите мне страницу , которая также запустит браузер.Я не проверял, но я предполагаю, что он просто сидит над функцией save_and_open_page, но опять же, мне кажется, что это лучше.

3 голосов
/ 15 августа 2011

Использовать save_and_open_page:

http://technicalpickles.com/posts/debugging-cucumber/

1 голос
/ 14 августа 2011

Вы должны использовать visit, а не get. Более того, лучше разделить ваш шаг и использовать стандартный шаг When I go to <page_name> (см. Web_steps.rb и paths.rb)

Я предлагаю вам взглянуть на проект rubygems.org - он имеет классный набор функций, и вы можете использовать его в качестве примера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...