Ruby on rails railsrspec测试缓存方法

Ruby on rails railsrspec测试缓存方法,ruby-on-rails,caching,rspec,Ruby On Rails,Caching,Rspec,这是我的用户模型,我不知道如何为active\u和approved\u creative\u count缓存测试编写测试 User.rb class User < ActiveRecord::Base class << self def active_and_approved_creative_count Rails.cache.fetch('active_and_approved_creative_count', :expires_in => 3

这是我的用户模型,我不知道如何为active\u和approved\u creative\u count缓存测试编写测试

User.rb

class User < ActiveRecord::Base
  class << self
    def active_and_approved_creative_count
      Rails.cache.fetch('active_and_approved_creative_count', :expires_in => 30.minutes) do
        User.active_and_approved_creative.count
      end
    end
   ...
   scope :active_and_approved_creative ,where("user_type = ? AND (membership_cancelled IS NULL OR membership_cancelled = false)", :approved_creative)
end
class用户User.active\u和\u approved\u creative.count
结束
结束
...
范围:active_和approved_creative,其中(“用户_类型=?和(已取消的成员资格为NULL或已取消的成员资格=false)”,:approved_creative
结束
您可能会:

  • 访问
    active\u和\u approved\u creative\u count
    以初始化缓存并验证初始值
  • 执行将增加计数的操作
  • 使用此选项可向上移动29分钟
  • 验证计数仍然是缓存的值
  • 再往前走一两分钟
  • 验证计数现在是否已增加
  • 可能会认为这是不必要地测试Rails内部构件,考虑是否简单地执行步骤“5月1日”就足够了。

    ,你可能可以:

  • 访问
    active\u和\u approved\u creative\u count
    以初始化缓存并验证初始值
  • 执行将增加计数的操作
  • 使用此选项可向上移动29分钟
  • 验证计数仍然是缓存的值
  • 再往前走一两分钟
  • 验证计数现在是否已增加

  • 一个人可能会认为这是不必要地测试Rails内部的,考虑是否简单地执行步骤“5月1日”就足够了。< A/P>用户。Acvivyand Ad批准创意。应该接受(计数)。一次。ANDO返回(10)我尝试过,但它不是工作用户。Acvivyand批准了创造性。应该接收(计数)。一次。ANDY返回(10)我试过了,但没用