6

OK, estoy escribiendo pruebas de rendimiento y estoy teniendo problemas para que mi sesión persista como lo hace en las pruebas de integración. Según tengo entendido, PerformanceTest es hijo de IntegrationTest y cualquier prueba de integración debería funcionar con la prueba de rendimiento. Sin embargo, cuando tomo una prueba de integración y la copio al rendimiento, cambie ActionController :: IntegrationTest a ActionController :: PerformanceTest y luego ejecute la prueba; falla.¿Por qué expira mi sesión cuando utilizo PerformanceTest y no IntegrationTest?

Estoy usando Authlogic y no he tenido ningún problema con las sesiones de prueba de integración. Sin embargo, con las pruebas de rendimiento parece que la sesión se crea correctamente, pero cuando visito la página "/ informes" (que es una página protegida) me redirige a la página de inicio de sesión como si no hubiera ninguna sesión de usuario.

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 

¿Qué está pasando aquí? He intentado varias formas de obtener una sesión de usuario (crear, publicar, etc.) y nada parece funcionar. Esta es la primera vez que escribo pruebas de rendimiento, así que probablemente estoy haciendo algo estúpido ...

BTW: Estoy ejecutando Ruby 1.8.7, Rails 2.2.2 en Debian Squeeze.

+0

Estoy teniendo el mismo problema, y ​​ciertamente agradecería cualquier sugerencia ... ¿Resolvió el problema usted mismo? –

+0

Llámame un AOLer. ¡Yo también! ¿Alguna solución? – kwerle

Respuesta

1

Tiene que configurar sus pruebas de rendimiento como sus pruebas de integración.

intento iniciar sesión utilizando mensaje:

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

Sí, debe publicar para iniciar sesión para iniciar sesión, porque uses_session en la prueba se convierte en una variable local, no en una variable con ámbito de aplicación. –

0

no está seguro de lo que es en su configuración, pero se echa en falta require 'test_helper' también. Si este método está allí, o en un asistente de prueba de Authlogic, es posible que deba asegurarse de que esté incluido.

Cuestiones relacionadas