2011-06-15 5 views

Respuesta

11

Dentro de una prueba de controlador puede acceder session al igual que flash.

aquí es un ayudante que utilizo para establecer el ID del programa

def set_current_program(program=programs(:direct_debit)) 
    @current_program = program 
    session[:program_id] = @current_program && @current_program.id 
end 

o en la configuración, se puede hacer

def setup 
    session[:var_name] = 1 
end 

a continuación, sólo hacer la prueba como de costumbre

test "should create order" do 
    assert_difference('Order.count') do 
    post :create, :message_text => @order.attributes 
    end 
end 

Incluso puede afirmar el valor de la sesión, si la acción debería haberlo cambiado

assert_equal 24, session[:something_changed] 
+0

Guau, eso fue fácil. Debería haberlo intentado. ¡Espero que alguien encuentre útil esta pregunta! –

Cuestiones relacionadas