用于Spring Boot的嵌入式Redis

我在机器上的本地Redis服务器的帮助下,使用Spring Boot" title="Spring Boot">Spring Boot运行了集成测试用例。

但是我想要一个不依赖任何服务器并且可以在任何环境下运行的嵌入式Redis服务器,例如H2内存数据库。我该怎么做?

@RunWith(SpringJUnit4ClassRunner.class)

@WebAppConfiguration

@IntegrationTest("server.port:0")

@SpringApplicationConfiguration(classes = Application.class)

@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)

public class MasterIntegrationTest {

}

回答:

您可以使用嵌入式Redis,例如https://github.com/kstyrc/embedded-

redis

  1. 将依赖项添加到pom.xml
  2. 调整集成测试的属性,使其指向嵌入式Redis,例如:

    spring:

    redis:

    host: localhost

    port: 6379

  3. 实例化仅在测试中定义的组件中的嵌入式redis服务器:

    @Component

    public class EmbededRedis {

    @Value("${spring.redis.port}")

    private int redisPort;

    private RedisServer redisServer;

    @PostConstruct

    public void startRedis() throws IOException {

    redisServer = new RedisServer(redisPort);

    redisServer.start();

    }

    @PreDestroy

    public void stopRedis() {

    redisServer.stop();

    }

    }

以上是 用于Spring Boot的嵌入式Redis 的全部内容, 来源链接: utcz.com/qa/433220.html

回到顶部