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

标签 java testing redis

在测试代码运行后,有什么方法可以回滚redis中的数据。 我使用 spring boot 2 开发了一个 java web 项目。

我知道redis没有提供回滚操作

所以在测试中使用另一个redis(比如一些嵌入式redis)可以确保测试代码不会改变redis数据。并制作一个模拟的 redis 客户端,首先在测试 redis 中获取数据,如果没有数据,则从原始 Redis 获取数据。 可行吗?

有没有现成的包实现这个功能?

或者有什么更简单的回滚方式?

最佳答案

首先,您应该清楚条款。要么你正在做一个真实(狭窄的)单元测试,然后你绝对解耦你的被测代码与任何“真实”资源,例如数据库或文件系统或远程服务器.换句话说:然后你模拟出这样的依赖关系。

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

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

关于java - 完成java测试代码后有什么方法可以回滚redis数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54420612/

相关文章:

java - 了解 Java 中的 Try-Catch 和异常处理

java - 持久性管理器中的 HashMap

testing - 随着时间的推移自动进行用户测试

ms-access - 如何在 MS Access 中设置开发环境

java - Spring Boot 测试中的 mockito 和多个 HTTP

java - Redis 为什么需要分布式锁

ubuntu - redis-server 启动失败但客户端工作

java - 构造函数覆盖可能吗?

javascript - 未处理的 promise 拒绝警告 : Error: The client is closed in NodeJS and Redis

java - 为什么这个java计算器给我这个答案?