用shoulda测试设计

mor*_*man 14 ruby-on-rails shoulda functional-testing devise

我在使用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'
Run Code Online (Sandbox Code Playgroud)

我在test_helper中有这个:

include Devise::TestHelpers
Run Code Online (Sandbox Code Playgroud)

想法?提前致谢,

克里斯提

Rob*_*her 17

include Devise::TestHelpers不会进入test_helper.rb文件,而是进入各个测试类的范围.就像他们的README显示:

class ActionController::TestCase
  include Devise::TestHelpers
end
Run Code Online (Sandbox Code Playgroud)


pja*_*mer 12

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

class ActionController::TestCase
  include Devise::TestHelpers
end
Run Code Online (Sandbox Code Playgroud)

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

sign_in users(:one)如果您在测试中使用灯具,则可以使用.除非应该弄乱它吗?