Rspec:测试dalli缓存(在rails之外)

时间:2013-12-11 01:02:50

标签: ruby caching rspec dalli

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

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

1 个答案:

答案 0 :(得分:1)

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

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

对于RSpec而言,这一切都非常简单