从工厂女孩返回模拟对象

Jos*_*ore 1 ruby unit-testing mocking mocha.js factory-bot

我在JRuby rails应用程序中使用Mocha和Factory_girl.当我打电话给工厂时,我想通过已经完成的一些模拟来返回对象.这是我想要做的代码片段.

Factory.define :tweet_feed_with_tweets, :parent => :tweet_feed do |t|
  t.expects(:pull_tweets).returns([Factory.build(:status),Factory.build(:status)])
end
Run Code Online (Sandbox Code Playgroud)

因为我不希望我的单元和功能测试实际上从twitter API中拉出来我想要存根方法所以它返回我想要的东西.但是,这不起作用.该对象返回时没有任何存根.有没有办法在工厂女孩回来之前对使用工厂女孩创建的对象实际执行存根?

Woj*_*ski 6

回调现在可用:

Factory.define :tweet_feed_with_tweets, :parent => :tweet_feed do |t|
  t.after_build do |tt|  
    tt.expects(:pull_tweets).returns([Factory.build(:status),Factory.build(:status)])
  end
end
Run Code Online (Sandbox Code Playgroud)