如果是非单元测试

mock 一个数据库连接不难,实际上只要 mock 一个 DataSource 对象,然后根据项目实际初始化方式放进去就可以了,而这个对象实际连接到本地的任意数据库即可。下面的例子使用 mybatis 和 H2 数据库:

DataSource dataSource = new org.apache.ibatis.datasource.pooled.PooledDataSource(

"org.h2.Driver","jdbc:h2:mem:",null,null

);

上面的例子创建的是一个空的数据库,所以如果启动过程中有数据库操作,肯定会失败。因此要么把这些操作从初始化过程中移走,要么在 mock 数据库中创建同样的表等等,让初始化过程顺利完成。

如果是单元测试

在 Spring Boot 的单元测试中,可以用 @MockBean 来隔离很多东西,比如项目中用了一个 Jedis 对象,但是某个单元测试并不需要连接 Redis 服务,那么可以:

@SpringBootTest

@RunWith(SpringRunner.class)

public class ATest {

@MockBean

private Jedis jedis; // 1

@Test

public void test1() {

...

}

}

// 1 这里就是告诉 Spring Boot 创建一个模拟的 Jedis 对象,它不会连接任何服务,这样就省去了下面的麻烦:1) 在本地运行一个真正的 Redis 服务;2)离线开发时修改项目配置指向本地的 Redis 服务,集成测试时又要改回去。

java伪装成mysql从节点_开发时java项目启动时需要连mysql等,有没有什么工具可以mock连接使得启动顺利不报错?...相关推荐

  1. mysql连接使用了serverTimezone还是报错:The server time zone value解决方案

    mysql连接使用了serverTimezone还是报错:The server time zone value ' ' is unrecognized or represents more than ...

  2. canal mysql多节点_数据同步的终极解决方案,阿里巴巴开源的Canal框架当之无愧!!...

    写在前面 在当今互联网行业,尤其是现在分布式.微服务开发环境下,为了提高搜索效率,以及搜索的精准度,会大量使用Redis.Memcached等NoSQL数据库,也会使用大量的Solr.Elastics ...

  3. java中的switch的规则_细细讲述Java技术开发的那些不为人知的规则

    本文介绍的Java规则的说明分为3个主要级别,中级是平时开发用的比较多的级别,在今后将陆续写出其他的规则.遵守了这些规则可以提高程序的效率.使代码又更好的可读性等. 一.在finally方法里关掉in ...

  4. mysql db2 性能_确定DB2 Java应用程序的性能问题

    问题确定和DB2体系结构简介 本文的目的是帮助您作为应用程序开发人员或数据库管理员,对您在部署Java应用程序时可能遇到的常见性能问题进行故障排除和诊断. 这些包括常见的应用程序开发问题,例如挂起或响 ...

  5. Java自己文章只能自己修改_文章目录Java代码俯身指南,主要为Java开发人员提供代码复审参考,快捷有效提出修改意见。目的发现代码错误:一个人写的代码可能会有一些思想和设计盲点,多个人尽...

    文章目录 Java代码俯身指南,主要为Java开发人员提供代码复审参考,快捷有效提出修改意见. 目的发现代码错误:一个人写的代码可能会有一些思想和设计盲点,多个人尽早的发现BUG. 统一代码风格:统一 ...

  6. java的应用程序开发_开发一个Java应用程序(1)

    开发一个Java应用程序(1) App Engine上的Java Web应用程序通过Java Servlet标准接口与应用程序服务器交互.一个应用程序由一个或多个类组成,这些类都扩展自一个servle ...

  7. java mysql 输入数据库_如何用JAVA录入数据到SQL数据库

    Java可以使用e68a8462616964757a686964616f31333361326236JDBC对数据库进行读写.JDBC访问一般分为如下流程: 1.加载JDBC驱动程序: 在连接数据库之 ...

  8. java会员卡的绑定和解绑_前后端分离项目 — SpringSocial 绑定与解绑社交账号如微信、QQ...

    1.准备工作 申请QQ.微信相关AppId和AppSecret,这些大家自己到QQ互联和微信开发平台 去申请吧 还有java后台要引入相关的jar包,如下: org.springframework.s ...

  9. Java每日一讲讲什么好_撩课-Java每天10道面试题第1天

    1.简述JDK.JRE.JVM? 一.JDK JDK(Java Development Kit) 是整个JAVA的核心, 包括了Java运行环境(Java Runtime Envirnment), 一 ...

最新文章

  1. 计算机网络谢希仁第七版课后答案完整版第四章 网络层
  2. M1 mac安装PyTorch的完整步骤指南
  3. linux驱动程序是什么,简述一个Linux驱动程序的主要流程与功能
  4. L1-018 大笨钟 (10 分)
  5. 开源飞控爱好者_开源爱好者的10种节日礼物创意
  6. 抖音音乐品牌升级 推出“炙热星河”音乐人服务平台
  7. centos6.5 安装mono
  8. RPG Maker MV常用的一些插件
  9. c语言所有逻辑符号大全,C语言中的逻辑取反是“~”符号吗逻辑或是“|”符号吗?...
  10. 人类杏仁核的核团:手动分割到自动图谱
  11. 老飞飞秒进卡尔贝西龙洞不用走路的方法
  12. Teams App 资源中心种草指南
  13. LTE RB PRB
  14. ARM官方汇编与ARM GNU汇编中的伪操作
  15. arduino-超声波测距
  16. 深入理解JAVA虚拟机学习笔记11——JDK可视化工具-VisualVM以及案例分析
  17. 佩戴骨传导耳机对耳朵有损害?不仅无损相比传统耳机优点有很多
  18. 调用Nero SDK 刻录光盘(含代码)
  19. jsp中设置编码格式
  20. 一加3t android 7.1,一加3T 7.1 ROM刷机包 7.1.2 Xposed框架主题号码归属地杜比全息来电闪光网...

热门文章

  1. 中文ocr识别数据集地址
  2. 文件系统管理 之 Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍...
  3. CSS3背景线性渐变
  4. vue.js仿饿了么app---webpack配置项
  5. 2014-04-03研究笔记整理
  6. Linux下安装jdk1.6
  7. RNA-seq:【FastQC】
  8. Tableau 绘制折线图
  9. NumPy中可用的聚合函数
  10. asp.net core 2使用本地https证书