2012-09-06 6 views
11

Estoy tratando de encontrar otra forma de escribir la prueba de recuento de cambios debidos (sin lambda). estoy usando Rails 3. También estoy utilizando la gema la debería matcherRspec debe cambiar la cuenta sin lambda

Razón - Todos los casos de prueba están en el formato

describe "some stuff" do 
    it { should ... } 
end 

Pero no soy capaz de seguir el mismo patrón para probar la debe cambiar cuentan

Aquí es lo que tengo

describe "some stuff" do 
    it "should change count by one" do 
     lambda { ... }.should change(Model, :count).by(1) 
    end 
end 

¿hay una manera de escribir que

describe "some stuff" do 
    it { should change(Model, :count).by(1) } 
end 

¡Muchas gracias!

Respuesta

30
subject { lambda { ... } } 

it { should change(Model, :count).by(1) } 
+0

estaba escribiendo especificaciones de este tipo por un tiempo y en realidad tratando de encontrar una forma más concisa para hacer esto. ¿Es esta la mejor opción posible? – firedev

5

También puede utilizar la sintaxis esperar:

describe "some stuff" do 
    expect { ... }.to change(Model, :count).by(1) 
end 
Cuestiones relacionadas