私は、モックモデルを使用する代わりに、フィクスチャを使用せずにコントローラのスペックを書き込もうとしています。このコントローラでは、ユーザがログインする必要があります。そのためにはAuthLogicを採用しており、author's recommendationsに続いています。これらの例はすべての効果に報告、ラインUserSession.create(...)
で失敗AuthLogicコントローラ仕様で模擬モデルを使用するにはどうすればよいですか?
describe UsersController do
def mock_user(stubs={})
@mock_user ||= mock_model(User, stubs)
end
context 'when logged in' do
before { activate_authlogic }
it "exposes the logged-in user as @user in response to GET (show)" do
UserSession.create(mock_user)
...
end
...
end
...
end
:
Mock 'User_1005' received unexpected message :changed? with (no args)
私はこの問題を解決するかどうかはわかりません。 :changed? => false
が適切であると嘲笑していますか?
セッションオブジェクトで、それほど多くのケースをカバーすることはありませんか? これは私が心配していることです:あなたは明白な一連のケースをカバーしている場合、特に明らかにラベルを付けることができれば、照明器具は非常にうまくいくようです。 "admin_user"と "registered_user"です。ラベル付けが難しくなるとすぐに、「quentinがログインしたらXが表示されたら」という意味のテストコードを取得し始めます。これは私には何の意味もありません。 セッションは自分自身に適していますか? –