rspec3:如何模拟分页数组?

时间:2014-10-07 15:52:08

标签: rspec rspec3

我正在使用rspec3而我正在尝试处理新的双重方法验证功能。我想为这样的分页数组创建一个double:

my_array = object_double([])
allow(my_array).to receive(:current_page).and_return(1)

但是,这会导致此错误:

Double[...] does not implement: current_page

这是因为rspec在给定object_double时会创建一个验证双精度数。我真的不想尝试创建一个假的数组double来响应像:[]这样的事情。全局设置mocks.verify_partial_doubles = false也没有帮助(对于这个问题似乎也有点过分),可能是因为object_double旨在进行验证。

我知道我可以在制作它的两倍之前对我的数组进行分页,但我觉得我不应该这样做。有什么我想念的吗?我是否应该请求rspec提供基于每个方法禁用验证的能力,或者提供创建非验证对象的能力,或者我应该以其他方式编写此测试吗?

在此期间,我可以这样写:

  products = Class.new(SimpleDelegator) do
    def current_page
      1
    end
    def per_page
      1
    end
    def total_entries
      1
    end
  end.new([])

...但它看起来不再是一个简单的rspec模拟。

0 个答案:

没有答案