在 java web 项目中写redis单测

1. redis 单测依赖选择

涉及到Redis的单元测试,一般使用embeded-redis或redis-mock

  • embeded-redis 是jar 包里放了redis 的可执行文件,在执行单测时候会解压可执行文件,在linux下会找不到对应的 依赖文件 lib.so 而报错 Can't start redis server. Check logs for details

  • redis-mock (ai.grakn) 则在 2018 年以后停止更新了

本文采用 microwww 的redis-mock

2. 操作步骤

2.1 添加依赖

项目地址

https://github.com/microwww/redis-mock

            <dependency>
                <groupId>com.github.microwww</groupId>
                <artifactId>redis-server</artifactId>
                <version>0.3.0</version>
                <scope>test</scope>
            </dependency>

2.2 添加配置类

import com.github.microwww.redis.RedisServer;
import java.io.IOException;
import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
import org.springframework.boot.test.context.TestConfiguration;

@TestConfiguration
public class TestRedisConfiguration {

  private static RedisServer redisServer;

  public TestRedisConfiguration(RedisProperties redisProperties) {
    try {
      if (redisServer == null) {
        redisServer = new RedisServer();
        redisServer.listener(redisProperties.getHost(), redisProperties.getPort());
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

2.3 写单测类



@RunWith(MockitoJUnitRunner.class)
@DisplayName("")
@SpringBootTest(classes = TestRedisConfiguration.class)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
class SolutionTest {

    // 单测代码
   
}

3. 参考

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容