2012-07-10 24 views
5

tôi nâng cấp phiên bản của tôi về rspec lên phiên bản mới nhất và tôi có kiểm tra vi phạm mà có cú pháp tương tựLàm thế nào để viết những dòng này với rspec

it "should delete a company" do 
    expect { click_link "Delete Company" }.should change(Company, :count).by(-1) 
end 

Tôi nhìn documentation và tôi không thể nhìn thấy bất cứ điều gì sẽ làm điều này trong verion hiện tại ... bất kỳ ý tưởng về làm thế nào để đạt được điều này

các lỗi tôi nhận được

9) Company Pages Edit page as an admin user should delete a company 
    Failure/Error: expect { click_link "Delete Company" }.should change(Company, :count).by(-1) 
    NoMethodError: 
    undefined method `call' for #<RSpec::Expectations::ExpectationTarget:0x007fccafdfc360> 
    # ./spec/requests/companies_spec.rb:79:in `block (3 levels) in <top (required)>' 
+6

should này được '' 'to''' thay vì' '' should'' '? – phoet

+0

Tôi sẽ kiểm tra rằng ra – Trace

+0

@phoet là chính xác. –

Trả lời

9

đây là doc về việc sử dụng expectatio ns

it "should delete a company" do 
    expect { click_link "Delete Company" }.to change{Company.count}.by(-1) 
end 

Lưu ý những điều sau đây thay đổi

  1. should trở thành to
  2. (Company, :count) trở thành {Company.count}
Các vấn đề liên quan