我在使用shoulda测试devise时遇到了一些困难:
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有什么想法?提前谢谢你,
克里斯蒂
发布于 2010-05-16 01:41:05
include Devise::TestHelpers不在test_helper.rb文件中,而是在各个测试类的范围内。就像他们的自述文件显示的那样:
class ActionController::TestCase
include Devise::TestHelpers
end发布于 2010-05-29 08:37:40
我不确定rspeicher是否完全正确,但将:
class ActionController::TestCase
include Devise::TestHelpers
end在test_helper.rb的最底层(是的,在class ActiveSupport::TestCase的END之后)应该可以工作。到目前为止,它已经完成了我的3到4个项目,包括我今天正在做的一个项目。
然后,如果您使用的是fixtures,则可以在测试中使用sign_in users(:one)。除非我把事情搞砸了?
https://stackoverflow.com/questions/2839328
复制相似问题