テストドリブン開発を使用してコードを拡張するために、私がすでに書いたコードのいくつかのテストを書こうとしています。Rspec - ソーサリーメソッド/変数へのアクセス
インデックスアクションが 'user_info'メソッドを呼び出すコントローラを持っています。このメソッドは、Sorceryのcurrent_user変数に依存するいくつかのインスタンス変数をまとめたものです。例:
def user_info
@current_A = current_user.a
@current_B = current_user.b
end
def index
user_info
// rest of the method goes here
end
このコードベースをテストするための感触を得るために、rspecを使用していくつかのテストを書き始めました。私のコントローラの仕様は非常に基本的であり、このようになります:
describe MyController do
describe "GET 'index'" do
get 'index'
response.should be_success
end
end
私はこの仕様を実行しようとするしかし、私は次のエラーを取得する: NoMethodError:未定義のメソッド「」偽のために:FalseClassの
ファーストをどのようにして、私の仕様にSorceryのメソッドcurrent_userを認識させるのですか?そして、好奇心から、なぜcurrent_userがFalseClassのインスタンスとしてフラグが立てられますか? Sorceryメソッドを呼び出していない場合(そして私のコードのどこにでもcurrent_userを定義していません)、それはnilとして表示されませんか?
常に最善の答えを受け入れるか、自分で答えてそれを受け入れるのが最善です。おかげで –