@DataRedisTest测试redis从未如此丝滑

文章介绍了如何在SpringBoot应用中利用@DataRedisTest注解进行Redis的单元测试。这个注解能自动配置嵌入式Redis服务器和RedisTemplate,简化测试过程。示例展示了在测试类中设置和获取键值对,并使用assertThat进行断言验证。
摘要由CSDN通过智能技术生成

测试redis从未如此丝滑

前提

本地需要先启动一个 redis 服务器, 端口 6379
本地已经安装java, maven

介绍

@DataRedisTest是Spring Boot提供的一个测试注解,用于测试Redis相关的功能。它提供了自动配置Redis测试环境的功能,因此在测试时无需手动配置Redis实例。

在使用@DataRedisTest注解时,Spring Boot会自动配置嵌入式Redis服务器,并在测试方法执行前清除Redis服务器中的所有数据。此外,该注解还提供了一些与Redis相关的bean的自动注入功能,比如RedisTemplate、StringRedisTemplate和ReactiveRedisTemplate等。

示例

创建一个springboot项目,
引入

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <version>2.6.2</version>
      </dependency>

在test目录下新建一个测试类
下面是一个使用@DataRedisTest注解的示例:

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.data.redis.DataRedisTest;
import org.springframework.data.redis.core.RedisTemplate;
import static org.assertj.core.api.Assertions.assertThat;

@DataRedisTest
public class RedisTest {

    @Autowired
    private RedisTemplate<String, String> redisTemplate;

    @Test
    public void testRedis() {
        String key = "foo";
        String value = "bar";
        redisTemplate.opsForValue().set(key, value);
        String retrievedValue = redisTemplate.opsForValue().get(key);
        assertThat(retrievedValue).isEqualTo(value);
    }
}

在上面的示例中,我们使用了@DataRedisTest注解来测试Redis操作。测试类自动配置了一个嵌入式Redis服务器,并自动注入了RedisTemplate实例。在测试方法中,我们使用RedisTemplate实例来存储和检索一个键值对,并使用assertThat断言来检查是否正确检索该值。

总结

需要注意的是,在使用@DataRedisTest注解时,我们不需要手动启动或配置Redis服务器,Spring Boot会自动处理这些事情。这使得测试Redis相关的功能变得更加容易和方便。

假的, 官方虽然这么说, 但是我本地不启动redis server 会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值