機能テストでクッキーを送信するにはどうすればよいですか?クッキーがクリアされていることを確認するにはどうすればテストできますか?Railsのクッキー値のクリアをテストしますか?
私はTDDを使ってRailsアプリケーション用のモデルを構築するのに大成功を収めましたが、コントローラーテストに関しては問題がありました。テストで一度クッキー値を設定して読み込むことはできますが、それらをクリアします。つまり:
test "clears cookie" do
get :set_it, :stuff => {'key' => 'value'} # stuff to cookify
assert cookies['key'] == 'value' # works fine
get :clear_it # cookie doesn't get sent. How do I simulate this?
assert nil == cookies['key'], 'Cookie not cleared' # fails
end
レール検査ガイドでは、データがサーバーに設定されたことを確認するために、どれだけ、テストでのクッキーの送信をシミュレートする方法を言及していません。私は、応答が送信されるまで、クッキーデータがサーバー上で変更されていない前の状況に遭遇したことを知っています。ここで何が起きているのですか?私は機能テストが「クライアントである」というより良い仕事をしたと思っていた。
これは広く知られている問題ですか?このようなことで人々がJUnitを使用するだけで辞任していますか?私は本当に1つのフレームワークをのすべてまたはほとんどすべての私のtddを使用できるようにしたいと思います。
私は楽観的に@ response.cookiesを試してみましたが、どちらもうまくいきませんでした。
マニュアルテスト - クッキーを* .html.erbファイルに出力する - クッキーが実際にクリアされていることを示しています。なぜこれは動作しないのですか? – Mike