我使用https://github.com/go-redis/redis包来进行Redis数据库调用。对于单元测试我想模拟这个调用,是否有任何模拟库或方法来做?
答案 0 :(得分:3)
谢谢大家的回复。我发现这个包https://github.com/alicebob/miniredis对redis模拟非常有用。
答案 1 :(得分:1)
使用miniredis进行模拟比乍看之下要容易得多。您无需模拟每个函数,例如Get,Set,ZAdd等。您只需启动miniredis并将其地址注入代码中使用的实际客户端(例如go-redis)即可:
mr := miniredis.Run()
redis.NewClient(&redis.Options{
Addr: mr.Addr(),
})
不需要进一步的嘲笑。即使miniredis没有显式公开这些方法,这也使您能够无缝使用Pipelined()
,TxPipelined()
等。
答案 2 :(得分:0)