使用shoulda测试设备

发布于 2024-09-01 14:44:29 字数 422 浏览 9 评论 0原文

我在使用 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

想法? 提前致谢,

克里斯蒂

I'm having some difficulties in testing devise with 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'

I have this in my test_helper:

include Devise::TestHelpers

Thoughts ?
Thanks in advance,

Cristi

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

幼儿园老大 2024-09-08 14:44:29

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

class ActionController::TestCase
  include Devise::TestHelpers
end

include Devise::TestHelpers doesn't go in the test_helper.rb file, but rather inside the scope of the individual testing classes. Just like their README shows:

class ActionController::TestCase
  include Devise::TestHelpers
end
倾`听者〃 2024-09-08 14:44:29

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

class ActionController::TestCase
  include Devise::TestHelpers
end

test_helper.rb 的最底部(是的,在 class ActiveSupport::TestCaseEND 之后)应该工作。到目前为止,它已经用于我的 3 或 4 个项目,包括我今天正在做的一个。

如果您在测试中使用固定装置,则可以使用 sign_in users(:one) 。除非应该把事情搞砸了?

I'm not sure if rspeicher is fully correct, but putting:

class ActionController::TestCase
  include Devise::TestHelpers
end

at the very bottom of test_helper.rb (yes after the END of the class ActiveSupport::TestCase) should work. It has for 3 or 4 projects of mine so far, including one i'm working on today.

You then can use sign_in users(:one) if you are using fixtures, in your tests. Unless shoulda is messing it up?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文