通常在我的Rails控制器测试中,我将在{Website.any_instance.stub(:save).and_return(false)}之前进行测试,以记录记录不保存时会发生什么. Rspec 3看起来像any_instance消失了.
我尝试使用{allow(Website).to收到(:save).and_return(false)}为Rspec 3,但现在我得到这个错误:
Website(id: integer,…) does not implement: save
使用Rspec 3可以替代非常有用的任务吗?
解决方法
尝试这个
allow_any_instance_of(Website).to receive(:save).and_return(false)
例如:https://github.com/rspec/rspec-mocks#settings-mocks-or-stubs-on-any-instance-of-a-class