OK、私はパフォーマンス テストを書いていますが、統合テストのようにセッションを持続させるのに問題があります。私が理解しているように、PerformanceTest は IntegrationTest の子であり、統合テストはすべてパフォーマンス テストと連携する必要があります。しかし、統合テストを実行してパフォーマンスにコピーすると、ActionController::IntegrationTest を ActionController::PerformanceTest に変更してテストを実行すると、失敗します。
私は Authlogic を使用していますが、統合テスト セッションが固執するという問題はありませんでした。パフォーマンス テストでは、セッションが適切に作成されているように見えますが、"/reports" ページ (保護されたページ) にアクセスすると、ユーザー セッションがまったくないようにログイン ページにリダイレクトされます。
require 'performance_test_help'
class SimpleTest < ActionController::PerformanceTest
setup :activate_authlogic
test "login" do
assert user_session = UserSession.create!(User.find_by_login("admin"))
get "/reports"
assert_response :success
end
end
何が起きてる?ユーザー セッションを取得する方法 (作成、投稿など) を複数試しましたが、うまくいきません。パフォーマンステストを書いたのはこれが初めてなので、おそらく何かばかげたことをしています...
ところで: Debian Squeeze で Ruby 1.8.7、Rails 2.2.2 を実行しています。