【发布时间】:2015-04-09 00:17:45
【问题描述】:
我想测试我的 User 模型协会 has_many :projects, dependent: :destroy 并且目前已经走到了这一步:
it "destroys dependent projects" do
user = FactoryGirl.build(:user)
project = FactoryGirl.build(:project)
user.projects << project
user.destroy
expect(Project.count).to change(-1)
end
但这给出了一个错误:
Failure/Error: expect(Project.count).to change(-1)
ArgumentError:
`change` requires either an object and message (`change(obj, :msg)`) or a block (`change { }`). You passed an object but no message.
所以我认为change 不是正确的匹配器,是吗?你能告诉我如何编写这个测试而不出现错误吗?
【问题讨论】:
标签: ruby-on-rails ruby unit-testing testing rspec