博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot~集成测试里的redis
阅读量:5934 次
发布时间:2019-06-19

本文共 1375 字,大约阅读时间需要 4 分钟。

测试不应该访问外部资源

对于单元测试,集成测试里,如果被测试的方法中使用到了redis,你需要去模拟一个单机环境的redis server,因为只有这样,你的测试才是客观的,即不会因为网络和其它因素影响你测试的准确性!

redis的内嵌版本embedded-redis

它的源码在github上,大家有兴趣可以去看看,非常精简,而且还提供了单机,集群,哨兵多种redis环境,完全可以满足我们的测试需要。

添加依赖

//implementation 'org.springframework.boot:spring-boot-starter-data-redis',  //testImplementation 'com.github.kstyrc:embedded-redis:0.6',

添加mock

package com.lind.springOneToOne.mock;import org.springframework.stereotype.Component;import redis.embedded.RedisServer;import javax.annotation.PostConstruct;import javax.annotation.PreDestroy;import java.io.IOException;@Componentpublic class RedisServerMock {    private RedisServer redisServer;    /**     * 构造方法之后执行.     *     * @throws IOException     */    @PostConstruct    public void startRedis() throws IOException {        redisServer = new RedisServer(6379);        redisServer.start();    }    /**     * 析构方法之后执行.     */    @PreDestroy    public void stopRedis() {        redisServer.stop();    }}

添加测试

public class StringValueTest extends BaseTest {    @Autowired    RedisTemplate redisTemplate;    @Test    public void setTest() throws Exception {        redisTemplate.opsForValue().set("ok", "test");        System.out.println(                "setTest:" + redisTemplate.opsForValue().get("ok")        );    }}

对于内嵌redis就说到这到,下回有机会说一下内嵌的mongodb,它也是集成测试时不能缺少的组件!

转载于:https://www.cnblogs.com/lori/p/9946153.html

你可能感兴趣的文章
洛谷P4762 [CERC2014]Virus synthesis(回文自动机+dp)
查看>>
redirect和rewrite
查看>>
监控glusterfs
查看>>
(转)web端测试环境的搭建(tomcat)
查看>>
读取SD卡中所有MP3文件
查看>>
iphone-common-codes-ccteam源代码 CCTableTipView.h
查看>>
iphone-common-codes-ccteam源代码 CCUIColor.h
查看>>
使用记事本编写java程序并编译
查看>>
laravel中 url() route() URL::asset()
查看>>
T-sql游标循环体内再嵌套游标的存储过程
查看>>
160809230张钊·
查看>>
OTRS
查看>>
[Contest20180418]数学竞赛
查看>>
linux下的vim使用笔记
查看>>
WEB开发中两个新建模版的比较(仅针对VS2008讨论):新建网站》ASP.NET网站和新建项目》ASP.NET WEB 应用程序...
查看>>
很有道理的文章
查看>>
urllib.urlencode() 无法encode中文, UnicodeEncodeError
查看>>
持续集成 解决 Jenkins 中无法展示 HTML 样式的问题
查看>>
charles工具过滤腾讯视频播放器广告
查看>>
office-excel
查看>>