2013-03-27 65 views
0

我使用Rails 3.2.11的Mac OS X山狮,Rspec的如何在模型中集体回调after_create回调?

这里是我的问题:

我有一个模型,创建时,它发送信息的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

不知道,如果你还没有想通了这一点,但如果你安装的摩卡咖啡,你可以这样做:

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

只是测试它和它的作品