如何在模型中统一post_create回调?

时间:2013-03-27 01:40:31

标签: ruby-on-rails ruby-on-rails-3 stubbing

我正在使用Rails 3.2.11,Mac OS X Mountain Lion,Rspec

这是我的问题:

我有一个模型,在创建时,它会将信息发送到api。它可以正常工作,但是当我在rspec中测试它时,测试数据也会被发送到api数据库。这是代码:

模型

after_create :send_to_api

def send_to_api
  api = APIModule.initialize_api(params)
  api.send_data(self.attribute1,self.attribute2)
  #connect to api, send to data to api
end

我在测试中试过这个:

Model.any_instance.stub(:send_to_api).and_return(true)

但它不起作用。每次我在测试中创建所述模型时,它都会将它们发送到数据库。任何帮助,将不胜感激。非常感谢提前!

1 个答案:

答案 0 :(得分:-1)

不确定你是否想过这个但是如果你安装了mocha,你可以这样做:

Model.any_instance.stubs(:send_to_api).returns(true)

刚刚测试过,它可以正常工作