1

这可能超出了您应该测试的范围,但是如何测试使用缓存的服务方法(即它使用缓存):

def get_payment_methods(country_code, filter=[])
    key = "/countries/#{country_code.upcase}/payment_methods"
    payment_methods = CACHE.get(key)
    unless payment_methods
      payment_methods = My::Service.get_payment_methods_for_country(country_code.upcase).first
      CACHE.set(key, payment_methods)
    end
    # ...
end
4

1 回答 1

1

您可以创建一个CACHE双精度并为您的方法验证以下内容:

  • 它调用缓存
  • 它使用缓存值,如果存在缓存值,则不会获取付款方式
  • 如果缓存值不存在,它会获取付款并保存缓存值

使用 RSpec 这一切都非常简单

于 2013-12-11T01:13:13.543 回答