OK, ich schreibe Leistungstests und habe Probleme, meine Sitzung zu erhalten, wie es bei Integrationstests der Fall ist. Nach meinem Verständnis ist PerformanceTest ein Kind von IntegrationTest und alle Integrationstests sollten mit einem Leistungstest funktionieren. Wenn ich jedoch einen Integrationstest mache und ihn in die Performance überspiele, ändere den ActionController :: IntegrationTest zu ActionController :: PerformanceTest und führe dann den Test aus.Warum läuft meine Sitzung ab, wenn PerformanceTest und nicht IntegrationTest verwendet wird?
Ich benutze Authlogic und hatte kein Problem mit den Integration Testsitzungen rumstehen. Bei den Leistungstests sieht es zwar so aus, als würde die Sitzung ordnungsgemäß erstellt, aber wenn ich die "/ reports" -Seite (die eine geschützte Seite ist) besuche, leitet sie mich auf die Anmeldeseite um, als ob überhaupt keine Benutzersitzung vorhanden wäre.
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
Was geht hier vor? Ich habe mehrere Möglichkeiten ausprobiert, um eine Benutzersitzung (create, post, etc.) zu bekommen und nichts scheint zu funktionieren. Dies ist das erste Mal, dass ich Leistungstests geschrieben habe, also mache ich wahrscheinlich etwas dummes ...
BTW: Ich habe Ruby 1.8.7, Rails 2.2.2 auf Debian Squeeze ausgeführt.
Ich habe das gleiche Problem und würde sicherlich alle Hinweise zu schätzen wissen ... Haben Sie das Problem selbst gelöst? –
Nenn mich einen AOLer. Ich auch! Irgendeine Reparatur? – kwerle