1

我的 MacBook Pro 最近死了,我买了一台新的,恢复了上面的所有文件,然后又回到了我已经开发了很长时间的 rails 应用程序。

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

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)

这一切都可以正常工作,从我从文档中可以看出,它仍然应该可以正常工作。我想我以某种方式配置错误,但坦率地说,我什至不知道从哪里开始寻找。

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

4

0 回答 0