0

我正在使用 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)

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

4

1 回答 1

-1

不知道你是否明白这一点,但如果你安装 mocha,你可以这样做:

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

刚刚测试过,它可以工作

于 2013-03-27T16:45:04.343 回答