在完成Java测试代码后,有什么方法可以回滚redis数据吗?

时间:2019-01-29 12:01:28

标签: java testing redis

运行测试代码后,是否有某种方法可以回滚redis中的数据。 我使用Spring Boot 2开发了一个Java Web项目。

我知道Redis不提供回滚操作。

因此,在测试中使用其他Redis(例如某些嵌入式Redis)可以确保测试代码不会更改Redis数据。并使模拟的Redis客户端首先在测试Redis中获取数据,如果没有数据,则从原始Redis获取数据。 可行吗?

有没有现成的程序包实现此功能?

还是有任何更简单的回滚方法?

1 个答案:

答案 0 :(得分:0)

首先,您应该在条款上保持清晰。您正在进行 real (窄)单元测试,然后将您的测试代码与任何“真实”资源(例如数据库,文件系统或远程服务器)绝对解耦 。换句话说:然后您就可以模拟出这种依赖性。

否则,您正在进行功能测试。而且这里有太多选择无法给出有意义的答案。一个示例是Redis Mock

但是正如所说:真正的答案是您可以清楚自己的要求。您应该直接在被测(单个)类上进行较低级别模拟的单元测试。