Я испытываю некоторые затруднения в тестировании завещания с, должен иметь:
2) Error:
test: handle :index logged as admin should redirect to Daily page.
(Admin::DailyClosesControllerTest):
NoMethodError: undefined method `env' for nil:NilClass
devise (1.0.6) [v] lib/devise/test_helpers.rb:52:in
`setup_controller_for_warden'
У меня есть это в моем test_helper:
include Devise::TestHelpers
Мысли?Заранее спасибо,
Cristi
include Devise::TestHelpers
находится не в файле test_helper.rb, а скорее внутри области видимости отдельных классов тестирования. Так же, как в их README:
class ActionController::TestCase
include Devise::TestHelpers
end
Я не уверен, что rspeicher полностью прав, но размещение:
class ActionController::TestCase
include Devise::TestHelpers
end
в самом низу test_helper.rb (да после END
класса ActiveSupport::TestCase
) должно работать. Так было в 3 или 4 моих проектах, включая тот, над которым я работаю сегодня.
Затем вы можете использовать sign_in users(:one)
, если вы используете фикстуры, в своих тестах. Если только shoulda ничего не напутал?