После 3 лет промедления сегодня день, что я начинаю тестировать свои приложения для направляющих. Мой первый шаг должен зафиксировать провальные тесты в моих направляющих 3 beta4 приложения.
Мои последние 3 проваливающих теста имеют отношение к драгоценному камню завещания и его authenticate_user! метод в before_filter наверху моего контроллера.
Вы заработали бы большую карму путем выручения меня с этим, так как она позволит мне использовать методологию TDD с этого времени.
Вот ошибка, которая беспокоит меня:
1) Error:
test_should_get_accepted(ModerationControllerTest):
NoMethodError: undefined method `authenticate!' for nil:NilClass
/test/functional/moderation_controller_test.rb:10:in `test_should_get_accepted'
Завещание просто дает подсказки функциональных испытаний и помощников на этой странице: http://github.com/plataformatec/devise, но я просто не знаю, как поместить это в приложение.
Можно ли дать этому новичку тестирования некоторые подробные инструкции относительно того, как использовать этих помощников?
Это заняло у меня некоторое время, но я нашел способ. Вот он для тех, кто застрял в той же точке:
В верхней части moderation_controller_test.rb, ниже объявления класса, добавьте эту строку:
include Devise::TestHelpers
У меня есть 2 записи в моем user fixture и я добавил эту строку в каждом тесте, где пользователь должен быть авторизован для выполнения действия.
sign_in User.first
Конечно, это очень просто, если знать, как это сделать.