gpt4 book ai didi

ruby-on-rails - 是否有用于在 Rails 中测试 Redis 逻辑的 gem?

转载 作者:IT王子 更新时间:2023-10-29 05:55:02 26 4
gpt4 key购买 nike

就像数据库清理器,或者在测试运行后默认清除数据存储。我找了找也没找到。它可以是一个单独的测试数据存储,也可以只是将所有 Redis 命令命名空间放入一个测试命名空间的简单东西。

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

最佳答案

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

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

#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。

关于ruby-on-rails - 是否有用于在 Rails 中测试 Redis 逻辑的 gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8284000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com