2012-09-06 13 views
11

Sto cercando di capire un altro modo di scrivere il test di conteggio delle modifiche (senza lambda). Sto usando Rails 3. Sto anche utilizzando la gemma shoulda matcherRspec dovrebbe cambiare il conteggio senza lambda

Motivo - Tutti i casi di test sono in formato

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

Ma io non sono in grado di seguire lo stesso modello per testare la dovrebbe cambiare contano

Ecco quello che ho

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

esiste un modo di scriverlo

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

Grazie mille !!

risposta

30
subject { lambda { ... } } 

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

stavo scrivendo le specifiche come questo per un po 'e in realtà cercando di trovare un modo più conciso per fare questo. È questa la migliore opzione possibile? – firedev

5

È inoltre possibile utilizzare la sintassi si aspettano:

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