Tengo una aplicación rails3 que usa protect_from_forgery
en mi controlador de aplicación base. Estoy usando ActionDispatch::IntegrationTest
y quiero asegurarme de que los tokens de autenticidad estén presentes durante ciertas pruebas de integración.Reemplazar action_controller.allow_forgery_protection para la prueba de integración específica
no quiero cada prueba funcional que ejecuta un post a tener que pasar la authenticity_token
, por lo que mi archivo test.rb
especifica:
config.action_controller.allow_forgery_protection = false
como los carriles de documentos sugieren.
Para las pruebas de integración, sin embargo, me gustaría asegurarme de que mis formularios envían correctamente el token de autenticidad. No puedo encontrar ninguna manera de hacer esto sin cambiar la configuración a nivel mundial en config/environments/test.rb
Si todos mis formas se generaron con form_for
estaría contenido que confiar en que los carriles se ocupa de esto, pero yo uso ExtJS y tienen un número de formas ExtJS que necesita especificar esto manualmente, así que realmente debería probar que la tubería está funcionando.
Pero esto no restablece para la próxima prueba! La respuesta de IMM gmcnaughton es mejor. –
Es cierto. Editado para restablecer el valor en el método 'desmontaje '. Sin embargo, el uso de un bloque como se sugirió @gmcnaughton puede ser mejor para un control más granular. –