用于Spring Boot Redis集成测试的可靠库

这更多是一个工具的问题-谷歌搜索我真的没有多大运气。

所以基本上我有一个标准的Spring Boot" title="Spring Boot">Spring Boot应用程序-

而且我有一个单元测试Redis缓存配置。我想做的是运行应用程序上下文自动装配一些spring配置,并在可能的情况下针对嵌入式Redis缓存进行测试。

我最近来的是这个https://github.com/kstyrc/embedded-

redis。

这样做的问题是缺少健壮的日志记录使其难以运行-它在本地运行,但是当我将其推上后,Unix服务器就在构建机器,它失败了,不知道为什么。

如果有人对如何以这种方式运行集成测试有任何想法,那就太好了。

谢谢,

斯特凡

回答:

我正在使用Embedded-redis与Redisson Java

Client进行集成测试。这是我的依赖

compile group: 'org.redisson', name: 'redisson', version: '3.6.5'

testCompile group: 'it.ozimov', name: 'embedded-redis', version: '0.7.2'

在上课前启动嵌入式Redis服务器,并在下课后将其停止。

spring.redis.host=localhost

spring.redis.port=6379

集成测试。

import java.util.concurrent.TimeUnit;

import org.junit.AfterClass;

import org.junit.Assert;

import org.junit.BeforeClass;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.redisson.api.RMap;

import org.redisson.api.RMapCache;

import org.redisson.api.RedissonClient;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;

import org.springframework.boot.web.server.LocalServerPort;

import org.springframework.test.context.junit4.SpringRunner;

import redis.embedded.RedisServer;

@RunWith(SpringRunner.class)

@SpringBootTest(classes = Application.class, webEnvironment = WebEnvironment.RANDOM_PORT)

public class RedisTest {

private static final Logger LOGGER = LoggerFactory.getLogger(RedisTest.class);

private static RedisServer REDISSERVER = new RedisServer(6379);

@LocalServerPort

private int port;

@Autowired

private RedissonClient redissonClient;

@BeforeClass

public static final void before() {

REDISSERVER.start();

}

@AfterClass

public static final void after() {

REDISSERVER.stop();

}

@Test

public void testRedis() throws InterruptedException {

//map

RMap<String, String> map = redissonClient.getMap("user");

map.put("name", "Redis Server");

Assert.assertTrue(map.get("name").equals("Redis Server"));

//mapcache

RMapCache<String, String> mapCache = redissonClient.getMapCache("tempUser");

mapCache.put("name", "Redis Server", 5, TimeUnit.SECONDS);

Assert.assertTrue(mapCache.get("name").equals("Redis Server"));

Thread.sleep(7000); //wait for 7 sec.

Assert.assertTrue(mapCache.get("name") == null);

}

}

以上是 用于Spring Boot Redis集成测试的可靠库 的全部内容, 来源链接: utcz.com/qa/405799.html

回到顶部