gpt4 book ai didi

ruby-on-rails - 如何在 rails 3 中 stub find_each 进行 rspec 测试

转载 作者:行者123 更新时间:2023-12-03 07:50:11 25 4
gpt4 key购买 nike

我想知道如何在 rspec 中测试 find_each 调用。我习惯于简单地 stub 我希望我的模型返回的内容,因此我不会像这样依赖数据库中的测试数据:

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])

在规范测试中,未执行“在此处执行操作”部分。有谁知道如何为 rspec 测试 stub find_each?

最佳答案

您可以使用 and_yield 使 rspec 调用传递给模拟的块:

MyClass.stub(:find_each).and_yield(one_mock).and_yield(two_mock)

关于ruby-on-rails - 如何在 rails 3 中 stub find_each 进行 rspec 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4382685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com