用于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
- 将依赖项添加到pom.xml
调整集成测试的属性,使其指向嵌入式Redis,例如:
spring:
redis:
host: localhost
port: 6379
实例化仅在测试中定义的组件中的嵌入式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