最近、Rails 4 アプリケーションを RSpec 2.X から 2.99 にアップグレードしました。すでにTranspecを実行しているにもかかわらず、いくつかのテストがまだ失敗しています。
require 'spec_helper'
describe Invoice, :type => :model do
before :each do
@user = FactoryGirl.create(:user)
@invoice = FactoryGirl.create(:invoice, :user => @user)
end
it "is not open" do
expect {
FactoryGirl.create(:payment, :invoice => @invoice, :amount => 100)
}.to change{@invoice.reload.open?}.from(true).to(false)
end
it "is open" do
expect {
FactoryGirl.create(:payment, :invoice => @invoice, :amount => 99.99)
}.to_not change{@invoice.reload.open?}.to(false)
end
end
最初のテストは、RSpec のアップグレード前と同じようにパスします。
ただし、2 番目のテストではエラーがスローされます。
Failure/Error: expect {
`expect { }.not_to change { }.to()` is deprecated.
構文を何に変更する必要がありますか?
not_to
などのいくつかのことをすでに試しましたbe_falsey
。これまでのところ何も機能していません。
助けてくれてありがとう。