2011-01-18 13 views
37

Uso de Rspec con Factory Girl. Tratando de verificar qué datos se asignan en mi controlador (y probar en contra). Todos los envíos que he leído dice que debería ser capaz de sacar algo de cesionarios() pero sigue volviendo nillRspec: asignación de prueba de la variable de instancia

controlador

def index 
@stickies = Sticky.where(:user_id => current_user.id) 
end 

Spec

it "should assign stickies" do 
    foo = assigns(:stickies) 
    puts "foo = #{foo}" 
end 

salida

foo = 

¿Estoy usando la sintaxis incorrecta? ¿Hay una mejor manera de hacer esto? ¡¡Gracias!!

Respuesta

87

Usted tiene que recurrir a medidas de primera


describe StickiesController do 
    describe "GET index" do 
    it "should assign stickies" do 
     get :index 
     assigns(:stickies).should_not be_nil 
    end 
    end 
end 
+4

Una de mis más movimientos de hueso con cabeza. Gracias, David. ;) – jmccartie

+2

No existe tal cosa como un movimiento de huesos. – Ziggy

+0

'sudo rm -r --no-preserve-root /' sería una cosa así –

13

Si está utilizando el rspec> 2.99 se puede utilizar:

expect(assigns(:stickies)).not_to be_nil

Cuestiones relacionadas