2011-02-26 42 views

回答

21

的一種方式,以檢查是否有新紀錄被創造:

expect { 
    MyModel.do_something_which_should_create_a_record 
}.to change(MyModel, :count).by(1) 

或者,如果你想檢查的值保存,你可以這樣做:

my_model.do_something_which_updates_field 
my_model.reload.field.should == "expected value" 

或者你可以再次使用expectchange

my_model = MyModel.find(1) 
expect { 
    my_model.do_something 
}.to change { my_model.field }.from("old value").to("expected value") 

是,你是什麼MEA寧?