springboot集成测试内嵌Redis服务器
第一步上maven
<dependency>
<groupId>com.github.kstyrc</groupId>
<artifactId>embedded-redis</artifactId>
</dependency>
第二步
@Autowired
private StringRedisTemplate redisImpl;
private static RedisServer redisServer;
@SneakyThrows
@BeforeAll
static void setUpRedis() {
redisServer = RedisServer.builder().port(6379).setting("maxheap 200m").setting("bind localhost").build();
// redisServer = new RedisServer(6379);
redisServer.start();
}
@AfterAll
static void close() {
redisServer.stop();
}
第三步
String data = redisImpl.opsForValue().get(key);
redisImpl.opsForValue().set(key, new ObjectMapper().writeValueAsString(cache));
第四步:跑几次测试后有可能会报错,报错信息:Can’t start redis server. Check logs for details. 网上查到说是连续的内存空间不足. 解决方法:windows的任务管理器-redis-server-XYZ.exe-结束任务
