我最近将我的 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 升级之前一样,第一个测试通过。
但是,第二个测试会引发错误:
Failure/Error: expect {
`expect { }.not_to change { }.to()` is deprecated.
我必须将语法更改为什么?
我已经尝试了一些类似的东西not_to
,be_falsey
等等。到目前为止没有任何效果。
谢谢你的帮助。