6

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.

+0

Sto avendo lo stesso problema e apprezzerei sicuramente qualsiasi suggerimento ... Hai risolto il problema da solo? –

+0

Chiamami AOLer. Anche a me! Qualche correzione? – kwerle

risposta

1

È necessario impostare i test delle prestazioni come i test di integrazione.

provo ad entrare usando messaggio:

post "user_session", :user_session => {:login => "user", :password => "password"} 
+0

Sì, è necessario effettuare l'accesso per accedere, in quanto use_session nel test diventa una variabile locale, non una variabile con ambito applicazione. –

0

non sicuro di quello che è nella configurazione là, ma vi manca require 'test_helper' pure. Se questo metodo è presente o in un helper di test Authlogic, potrebbe essere necessario assicurarsi che sia incluso.