Aar*_*ron 36 rspec ruby-on-rails rspec2
我想知道如何在rspec中测试find_each调用.我习惯于简单地存在我希望模型返回的内容,所以我不依赖于db中的测试数据,如下所示:
MyClass.stub(:find).and_return(my_mock)
但是,在另一个班级我这样做:
MyClass.find_each do |instance_of_my_class|
  do_stuff_here_on(instance_of_my_class)
end
我发现如果我这样做:
MyClass.stub(:find_each).and_return([one_mock, two_mock])
在规范测试中,"在这里做东西"部分没有被执行.有谁知道如何存储find_each进行rspec测试?
Iai*_*ain 45
您可以使用and_yield使rspec调用传递给mock的块:
MyClass.stub(:find_each).and_yield(one_mock).and_yield(two_mock)
| 归档时间: | 
 | 
| 查看次数: | 8333 次 | 
| 最近记录: |