我的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)
这一切都过去很好,从我从文档中可以看出,它仍然应该工作得很好。我觉得我错误地配置了,但坦率地说,我甚至不知道从哪里开始寻找。
怎么了?我应该在哪里看看?