我得到一個rspec錯誤,我不會期望,我最終以另一種方式檢查。但是,我想知道爲什麼它不起作用。該錯誤是這樣的:爲什麼我得到這個(1)錯誤?
Failure/Error: @user.should have(1).work_shift
RuntimeError:
expected work_shift to be a collection but it does not respond to #length or #size
而且產品的規格有:
it "should create the work shift" do
post :start, :work_hours => 6
flash[:error].should == nil
@user.should have(1).work_shift
response.should redirect_to labor_url
end
爲什麼我得到這個錯誤? (用戶HAS_ONE work_shift,關聯正常工作)
你將不得不進入rspec的期許和改變匹配,以接受非陣列參數。其他選項:「@ user.work_shift。should be」,「.should be_a_kind_of WorkShift」或「.should be_a WorkShift」。 – monocle 2011-05-20 14:23:36