私の 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)
これはすべて正常に機能していましたが、ドキュメントからわかることから、それでも正常に機能するはずです。どういうわけか設定が間違っていると思いますが、率直に言って、どこから調べればよいかさえわかりません。
どうしたの?どこを見ればいいの?