ruby-on-rails – 有没有一个宝石来测试Rails中的Redis逻辑?
发布时间:2020-12-16 20:39:02 所属栏目:百科 来源:网络整理
导读:像数据库清理器,或测试运行后默认清除数据存储.我搜索,找不到一个.它可以是单独的测试数据存储,也可以是将所有Redis命令命名为测试命名空间的简单操作. 如果任何人知道任何lemme知道,否则我会写一个和操作系统:) 解决方法 当使用rails和redis时,我对不同的环
像数据库清理器,或测试运行后默认清除数据存储.我搜索,找不到一个.它可以是单独的测试数据存储,也可以是将所有Redis命令命名为测试命名空间的简单操作.
如果任何人知道任何lemme知道,否则我会写一个和操作系统:) 解决方法
当使用rails和redis时,我对不同的环境使用不同的redis db或
namespace.该设置非常简单,类似于ActiveRecords数据库配置.
首先,创建一个config:(命名空间版本注释掉) #config/redis.yml default: host: localhost port: 6379 development: db: 0 # namespace: appname_dev test: db: 1 # namespace: appname_test production: db: 2 host: 192.168.1.100 # namespace: appname_prod 然后加载配置并通过初始化程序连接到redis: #config/initializers/redis.rb REDIS_CONFIG = YAML.load( File.open( Rails.root.join("config/redis.yml") ) ).symbolize_keys dflt = REDIS_CONFIG[:default].symbolize_keys cnfg = dflt.merge(REDIS_CONFIG[Rails.env.to_sym].symbolize_keys) if REDIS_CONFIG[Rails.env.to_sym] $redis = Redis.new(cnfg) #$redis_ns = Redis::Namespace.new(cnfg[:namespace],:redis => $redis) if cnfg[:namespace] # To clear out the db before each test $redis.flushdb if Rails.env == "test" 如果您使用该版本,请记住将“redis-namespace”添加到您的Gemfile中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |