测试不应该访问外部资源

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

redis的内嵌版本embedded-redis

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

添加依赖

<!--implementation-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency><!--testImplementation-->
<dependency><groupId>com.github.kstyrc</groupId><artifactId>embedded-redis</artifactId><version>0.6</version><scope>test</scope>
</dependency>

添加mock

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

添加测试

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

本文由博客一文多发平台 OpenWrite 发布!

Spring Boot单元测试集成redis相关推荐

  1. Spring boot如何集成Redis(四)

    1.什么是Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库.Redis全称为:Remote Dictionary Serv ...

  2. redis 支持 json_Spring Boot 中集成 Redis

    阅读本文约需要5分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了 Spring Boot 中的拦截器,今天跟大家分享下 ...

  3. spring boot单元测试

    做一个稳健的开发,写一首漂亮的单元测试是少不了的 首先要分清几个概念:测试方法.测试类.测试集.测试运行器. 测试方法就是用 @Test 注解的一些函数. 测试类是包含一个或多个测试方法的一个 XxT ...

  4. Spring Boot 单元测试详解+实战教程

    转载自   Spring Boot 单元测试详解+实战教程 Spring Boot 的测试类库 Spring Boot 提供了许多实用工具和注解来帮助测试应用程序,主要包括以下两个模块. spring ...

  5. Spring Boot 快速集成第三方登录功能

    Spring Boot 快速集成第三方登录功能 前言 此 demo 主要演示 Spring Boot 项目如何使用 史上最全的第三方登录工具 - JustAuth 实现第三方登录,包括 QQ 登录.G ...

  6. 【Spring Boot组件集成实战】集成Kaptcha谷歌验证码

    更多精彩内容,请访问 Spring Boot组件集成实战专栏 ! 推荐项目:一套基于Spring Boot+Layui的内容管理系统/快速开发脚手架(含完整的开发文档.演示网址等) 文章目录 1. 验 ...

  7. Spring Boot 工程集成全局唯一ID生成器 Vesta

    2019独角兽企业重金招聘Python工程师标准>>> 本文内容脑图如下: 文章共 760字,阅读大约需要 2分钟 ! 概 述 在前一篇文章 <Spring Boot工程集成全 ...

  8. 保姆级教程:Spring Boot 单元测试

    作者 | 小名同学 来源 | https://eamonyin.blog.csdn.net/ 一. 单元测试的概念 概念: 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和 ...

  9. 在spring boot中集成Swagger

    Swagger 在spring boot中集成Swagger 新建一个swagger项目 maven依赖 <!-- https://mvnrepository.com/artifact/io.s ...

最新文章

  1. Python:Downloader Middlewares
  2. ASP.NET下载网络图片
  3. python 出现 AttributeError: matplotlib‘ object has no attribute ‘to_rgba‘
  4. nacos 公共_SpringCloud配合注册中心Nacos的使用
  5. 现代软件工程讲义 3 代码规范与代码复审
  6. c语言中的运算符及其含义_按位运算符及其在C语言中与Example一起使用
  7. 眼下发展最迅猛的十家网络安全公司
  8. cf黑机器多久解除_“黑电镀厂”偷排工业废水被捣毁,老板被警方刑拘
  9. CTS(15)---Android 兼容性
  10. java cas并发_java并发之CAS
  11. 如何在win10系统上安装linux子系统
  12. 高质量的用户体验 推进IT运维向业务服务转变——中国移动通信集团公司
  13. 支持向量机(Support Vector Machine,SVM)—— 线性SVM
  14. 如何设置Word自动检查语法错误
  15. 【中学提纲】必修一——细胞的生命历程
  16. 2019杭电多校训练营(第一场)
  17. 洛谷 P1195 口袋的天空
  18. 1987年国际C语言混乱代码大赛获奖的一行代码
  19. 修改Windows系统同步网络时间的频率
  20. Windows10环境下Ruby安装和配置

热门文章

  1. coreldraw x5安装视频教程_CorelDRAW 2020详细安装图文教程指导
  2. java 数组求和_java 实现随机数组输出及求和实例详解
  3. 【转】 人行,中行,工行,建行,农行,交行笔试资料合集...
  4. 计算机系统精品教程,_《计算机操作系统教程》课程教学课件(精品) 设备管理(88P).pdf...
  5. 【MySQL】复合查询
  6. 基于SSM的自习室预订座位占座管理系统-JAVA.VUE【计算机毕设、网页开发、论文、源码、开题报告】
  7. 【论文笔记】GCA-Net : Utilizing Gated Context Attention for Improving Image Forgery Localization and Detec
  8. win11新版右键上下文菜单(快捷菜单)
  9. ExpRe[2] UML,UML类图,UML绘图语言——PlantUML
  10. 基于ZU19EG的4路100G 网络 DPU的PCIe 加速计算卡