有没有办法在完成 java 测试代码后回滚 redis 数据



有没有办法在测试代码运行后回滚 redis 中的数据。我使用Spring boot 2做了一个java Web项目。

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

因此,在测试中使用另一个 redis(如一些嵌入式 redis)可以确保测试代码不会更改 redis 数据。并创建一个模拟的 redis 客户端,首先在测试 redis 中获取数据,如果没有数据,则从源 Redis 获取。可行吗?

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

或者有更简单的回滚方法?

首先,你应该清楚条款。要么你正在做一个真正的(窄)单元测试,那么你绝对地将你的测试代码与任何"真正的"资源(如数据库、文件系统或远程服务器)分离。换句话说:然后你模拟出这样的依赖关系。

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

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

最新更新