5

rspec のバージョンを最新バージョンにアップグレードしましたが、同様の構文を持つテストが壊れています

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

私はドキュメントを見ましたが、現在のバージョンでこれを行うものは何も見当たりませんでした...これを達成する方法についてのアイデア

私が得るエラーは

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)>'
4

1 に答える 1

9

期待値の使用に関するドキュメントは次のとおりです

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

次の変更に注意してください

  1. shouldになるto
  2. (Company, :count)になる{Company.count}
于 2012-07-10T23:18:22.980 に答える