2011-11-14 7 views
3

私はアプリケーションでフラグメントキャッシュを実装しようとしています。ほとんど変更されないデータが多数表示されるため、フラグメントキャッシュは、パフォーマンスに関するいくつかの問題の解決に最適です。Rails(3.0.7)でフラグメントの作成と期限切れのフラグメントをテストする

私はRailの組み込みのフラグメントキャッシュとキャッシュ掃除機を使用していますが、フラグメントの作成/有効期限をテストするための良い方法は見つけられないようです(rspecとフレンドを使用)。

ご協力いただければ幸いです。


明確化:私は本当にテストしたいすべては、適切なフラグメントの有効期限が切れていることを、特にそのものがに行くか、キャッシュから来ていません。それはこのようなものになるだろうモカで

+1

はIMOあなたが実際には、デフォルトのキャッシュにより、有効期限をテストするべきではありませんので、多分あなたがすべきテスト、テスト環境で無効になっていますキャッシュの作成または有効期限を実際にトリガーするメソッドまたはアクション。 – jpemberthy

+1

私が本当にテストしたいのは、特定のアクションが呼び出されるたびに、適切なキャッシュが期限切れになることです。私は本当に気にしない(何かがキャッシュにある場合)。 – binarycleric

+0

私の場合は、必要なフラグメントが期限切れにならないので、これもテストしたいと思います。 – pduersteler

答えて

1

UserController.any_instance.expects(:expire_fragment).with('cache_key') 

私たちは、このテストで気に唯一のものは、方法は、実際に仕事をしている場合の方法は、実際に適切な引数を指定しないで呼び出されるということです。 RSpecのに使用される

:その行動はすでにRailsの中でテストされているので

it 'expires the awesome user cache' do 
    UserController.any_instance.expects(:expire_fragment).with('awesome_user_cache').once 

    post :create, id: user.id, ect... 
end 
関連する問題