2011-05-25 18 views
8

me gustaría este factor montón de código de manera que todas mis pruebas del controlador (bueno, casi todos ellos) before(:each) utilizar este bloque:¿Cómo se factorizan las llamadas comunes "antes (: cada)" en RSpec para que múltiples especificaciones puedan usarlas?

before(:each) do 
    @user = User.new 
    controller.stub(:authenticate_user!) 
    controller.stub(:current_user).and_return(@user) 
    controller.stub(:add_secure_model_data) 
end 

¿Hay alguna manera de hacer eso? No quiero incluirlo en todos los controladores ... porque hay algunos que no necesitan esto. Básicamente, cada controlador que se extiende desde SecureController necesitará este bloque before(:each).

¿Hay alguna buena manera de hacerlo?

Gracias

Respuesta

1

lo tanto, poner el bloque en SecureController.

Si hay niños específicos de SecureController que no quieren esta funcionalidad, usted podría presentar otra superclase intermedia, o envoltura de la llamada al método con un condicional que controlar.

Cuestiones relacionadas