Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 用shoulda设计测试装置_Ruby On Rails_Functional Testing_Shoulda_Devise - Fatal编程技术网

Ruby on rails 用shoulda设计测试装置

Ruby on rails 用shoulda设计测试装置,ruby-on-rails,functional-testing,shoulda,devise,Ruby On Rails,Functional Testing,Shoulda,Devise,我在使用shoulda测试Desive时遇到一些困难: 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 `s

我在使用shoulda测试Desive时遇到一些困难:

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
想法? 提前感谢,


Cristi不在test_helper.rb文件中,而是在各个测试类的范围内。正如他们的自述所示:

class ActionController::TestCase
  include Devise::TestHelpers
end

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

class ActionController::TestCase
  include Devise::TestHelpers
end
在test_helper.rb的最底部(在
类ActiveSupport::TestCase
结尾之后是),应该可以工作。到目前为止,我已经完成了3到4个项目,包括我今天正在做的一个项目


然后,如果在测试中使用fixture,则可以使用
登录用户(:one)
。除非阿尔达把事情搞砸了

那不一样。他只是将“include designe::TestHelpers”放在他的test_helper.rb文件的基本作用域中,而不是放在TestCase类中。这正是自述文件所说的。对于“在类ActiveSupport::TestCase结束后是”的+1