ruby-on-rails – 有没有一个宝石来测试Rails中的Redis逻辑?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 有没有一个宝石来测试Rails中的Redis逻辑?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
数据库清理器,或测试运行后默认清除数据存储.我搜索,找不到一个.它可以是单独的测试数据存储,也可以是将所有Redis命令命名为测试命名空间的简单操作.

如果任何人知道任何lemme知道,否则我会写一个和操作系统:)

解决方法

当使用rails和redis时,我对不同的环境使用不同的redis db或 namespace.该设置非常简单,类似于ActiveRecords数据库配置.

首先,创建一个config:(命名空间版本注释掉)

  1. #config/redis.yml
  2. default:
  3. host: localhost
  4. port: 6379
  5. development:
  6. db: 0
  7. # namespace: appname_dev
  8. test:
  9. db: 1
  10. # namespace: appname_test
  11. production:
  12. db: 2
  13. host: 192.168.1.100
  14. # namespace: appname_prod

然后加载配置并通过初始化程序连接到redis:

  1. #config/initializers/redis.rb
  2. REDIS_CONFIG = YAML.load( File.open( Rails.root.join("config/redis.yml") ) ).symbolize_keys
  3. dflt = REDIS_CONFIG[:default].symbolize_keys
  4. cnfg = dflt.merge(REDIS_CONFIG[Rails.env.to_sym].symbolize_keys) if REDIS_CONFIG[Rails.env.to_sym]
  5.  
  6. $redis = Redis.new(cnfg)
  7. #$redis_ns = Redis::Namespace.new(cnfg[:namespace],:redis => $redis) if cnfg[:namespace]
  8.  
  9. # To clear out the db before each test
  10. $redis.flushdb if Rails.env == "test"

如果您使用该版本,请记住将“redis-namespace”添加到您的Gemfile中.

猜你在找的Ruby相关文章