代码之家  ›  专栏  ›  技术社区  ›  morgan freeman

用shoulda测试装置

  •  14
  • morgan freeman  · 技术社区  · 16 年前

    我在用shoulda测试designe时遇到了一些困难:

    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'
    

    include Devise::TestHelpers
    

    思想?

    克里斯蒂

    2 回复  |  直到 16 年前
        1
  •  17
  •   Robert Speicher    16 年前

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

    class ActionController::TestCase
      include Devise::TestHelpers
    end
    
        2
  •  12
  •   pjammer    16 年前

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

    class ActionController::TestCase
      include Devise::TestHelpers
    end
    

    在test\u helper.rb的最底部(在 END class ActiveSupport::TestCase )应该有用。到目前为止,我已经完成了3到4个项目,包括我今天正在做的一个。

    然后你可以使用 sign_in users(:one) 如果你在测试中使用固定装置。除非她把事情搞砸了?