OK, sto scrivendo test delle prestazioni e sto avendo problemi a mantenere la mia sessione in modo permanente come nei test di integrazione. A quanto ho capito, PerformanceTest è un figlio di IntegrationTest e qualsiasi test di integrazione dovrebbe funzionare con il test delle prestazioni. Tuttavia, quando eseguo un test di integrazione e lo copio sulle prestazioni, cambio ActionController :: IntegrationTest in ActionController :: PerformanceTest e quindi eseguo il test, non riesce.Perché la mia sessione scade quando si utilizza PerformanceTest e non IntegrationTest?
Sto utilizzando Authlogic e non ho riscontrato problemi con le sessioni di test di integrazione. Con i test delle prestazioni sembra che la sessione venga creata correttamente ma quando visito la pagina "/ reports" (che è una pagina protetta) mi reindirizza alla pagina di accesso come se non ci fosse alcuna sessione utente.
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
Cosa sta succedendo qui? Ho provato diversi modi per ottenere una sessione utente (creare, pubblicare, ecc.) E nulla sembra funzionare. Questa è la prima volta che scrivo i test delle prestazioni, quindi probabilmente sto facendo qualcosa di stupido ...
BTW: Sto eseguendo Ruby 1.8.7, Rails 2.2.2 su Debian Squeeze.
Sto avendo lo stesso problema e apprezzerei sicuramente qualsiasi suggerimento ... Hai risolto il problema da solo? –
Chiamami AOLer. Anche a me! Qualche correzione? – kwerle