ruby-on-rails - 如何在 RSpec 中多说几次 "should_receive"

标签 ruby-on-rails rspec

我的测试中有这个

Project.should_receive(:find).with(@project).and_return(@project)

但是当对象收到该方法调用两次时,我必须这样做

Project.should_receive(:find).with(@project).and_return(@project)
Project.should_receive(:find).with(@project).and_return(@project)

有什么办法可以这样说

Project.should_receive(:find).with(@project).and_return(@project).times(2)

最佳答案

这已经过时了。请查看Uri's answer下面

2次:

Project.should_receive(:find).twice.with(@project).and_return(@project)

恰好n次:

Project.should_receive(:find).exactly(n).times.with(@project).and_return(@project)

至少n次:

Project.should_receive(:msg).at_least(n).times.with(@project).and_return(@project)

更多详情请访问https://www.relishapp.com/rspec/rspec-mocks/v/2-13/docs/message-expectations/receive-counts接收计数

关于ruby-on-rails - 如何在 RSpec 中多说几次 "should_receive",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1328277/

相关文章:

ruby-on-rails - Nginx + puma 配置

ruby-on-rails - Rails SSL 搞砸了内容

ruby-on-rails - 如何基于 Rail 关联防止每个循环中的重复项

ruby-on-rails - 测试服务类 - Rails

javascript - 为什么 jquery-rails 没有加载?

Javascript 在渲染部分中不起作用

Ruby 条件测试

ruby-on-rails - rails 测试数据库不会删除

ruby-on-rails - 为什么我必须在使用客户验证器后重新加载 rspec 中的记录?

ruby-on-rails - 通配符路由的 Rspec 路由测试失败