会话undefined在rails ActionController :: TestCase子类中

时间:2013-06-04 17:23:40

标签: ruby-on-rails testing actioncontroller

我的MacBook Pro最近就死了,我换了一个新的,恢复了我的所有文件并回到了我已经开发了很长一段时间的rails应用程序。

在某处,我移动了我保存应用程序的目录(以及Aptana Studio 3项目,尽管我猜这不相关)。该应用程序现在运行,但我的所有功能测试都崩溃了,因为它认为变量“session”未定义。这是我的测试用例代码的简化版本:

require 'test_helper'

class SkillsControllerTest < ActionController::TestCase

...

   test "should not copy when current user does not have write permission" do
     session[:user] = users(:existingbob)
     assert_no_difference("Skill.count") do
       post :create, :campaign_id => 1, :skill_uri => {:campaign_id => 1, :skill_id => 1}
     end
     assert_redirected_to permissions_path()
   end
...
end

我做了很多这方面的工作,我的应用程序检查用户是否拥有特定操作的权限,并且我有很多测试来检查它是否正常工作。

在我的剧变之后,测试会崩溃并​​显示以下消息:

/blah/blah/blah/skills_controller_test.rb:260:in`<class:SkillsControllerTest>': 
undefined local variable or method `session' for SkillsControllerTest:Class (NameError)

这一切都过去很好,从我从文档中可以看出,它仍然应该工作得很好。我觉得我错误地配置了,但坦率地说,我甚至不知道从哪里开始寻找。

怎么了?我应该在哪里看看?

0 个答案:

没有答案