14

我在使用 shoulda 测试设计时遇到了一些困难:

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

想法?提前致谢,

克里斯蒂

4

2 回答 2

17

include Devise::TestHelpers不在 test_helper.rb 文件中,而是在各个测试类的范围内。就像他们的自述文件显示:

class ActionController::TestCase
  include Devise::TestHelpers
end
于 2010-05-15T17:41:05.283 回答
12

我不确定 rspeicher 是否完全正确,但我说:

class ActionController::TestCase
  include Devise::TestHelpers
end

在 test_helper.rb 的最底部(是的 之后ENDclass ActiveSupport::TestCase应该可以工作。到目前为止,它有我的 3 或 4 个项目,包括我今天正在做的一个。

然后sign_in users(:one),您可以在测试中使用固定装置。除非应该搞砸了?

于 2010-05-29T00:37:40.393 回答