在PostObserver的after_save方法中有一些对外部服务的API调用。但我不想在使用Rspec进行测试时调用after_save。有没有办法做到这一点?谢谢。
这是Rails 3.1
答案 0 :(得分:12)
结账观察员可能会产生不必要的副作用,因为他们是单身人士。 Rails 3.1中的另一个选择是disable测试中的观察者。 e.g。
Post.observers.disable :all do
..
end
旧版Rails的另一个选择是no-peeping-toms gem。
答案 1 :(得分:1)
把它拿出来:
PostObserver.instance.stub(:after_save => true)