6

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 を実行しています。

4

2 に答える 2

1

統合テストと同様に、パフォーマンス テストをセットアップする必要があります。

投稿を使用してログインしてみてください:

post "user_session", :user_session => {:login => "user", :password => "password"}
于 2010-10-14T14:06:20.590 に答える
0

そこに何が設定されているかはわかりませんが、あなたも欠けrequire 'test_helper'ています。このメソッドがそこにある場合、またはAuthlogicテストヘルパーにある場合は、それが含まれていることを確認する必要があります。

于 2011-06-23T23:34:17.750 に答える