1 背景git
参考连接:https://github.com/kstyrc/embedded-redisgithub
2 使用redis
2.1 引入依赖单元测试
<dependency>
<groupId>com.github.kstyrc</groupId>
<artifactId>embedded-redis</artifactId>
<version>0.6</version>
</dependency>
2.2 单元测试中的使用测试
能够直接经过两行代码就能够启动:spa
redisServer = new RedisServer(6379); redisServer.start(); // do something redisServer.stop();
3 遇到的问题以及解决思路线程
通常咱们在写单元测试的时候,会在一个测试类中写不少的测试方法。那么咱们通常会选择在@Before方法中启动RedisServer,在@After方法中进行close。code
可是redis是单线程的,每个@Test方法都会调用一次@After方法,把redis-server关掉了,因此你可能会碰到下面的错误:server
这里有一个解决思路,把@Before改为@BeforeClass,@After改为@AfterClass,而且把方法改为静态的。blog
private static RedisServer redisServer; @BeforeClass public static void beforeClass() throws Exception { redisServer = new RedisServer(6379); redisServer.start(); } @Test ……………… @Test @AfterClass public static void afterClass() { redisServer.stop(); log.info("Embedded redis stop!"); }