你还不知道怎么使用内存数据库进行单元测试?

1. 为什么使用内存数据库

不论你的持久层是使用了JDBC还是Hibernate或者Mybatis,你如何确保你的SQL语句是正确的,是不是符合你的预期。有的小伙伴说,我连上一个测试数据库测一下。很抱歉,不行。原因如下:
(1) 每次修改了代码,测试需要重复进行。我们可是程序猿,不,程序员啊,怎么能做重复的事情呢?我们的原则是:能自动化的就绝不手工做。
(2) 手工测试低效,且容易出错;
(3) 与真实数据库交互速度慢;

2. 什么是内存数据库

顾名思义,内存数据库就是将数据存储在内存中的数据库,可以方便地与程序自身集成。这样,不需要运行真实的数据库,就可以完成数据库操作的测试。

3. Java开发常用的内存数据库-H2

在Java开发中,最常用的测试数据库就是H2。它仅仅是一个jar文件,因此可以方便地集成到项目中,用于测试和做真实数据库的缓存。

4. 使用方法

  • 引入依赖
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>${h2.version}</version>
            <scope>test</scope>
        </dependency>
  • 在springboot的yml文件中配置数据库信息
spring:
  datasource:
    driver-class-name: org.h2.Driver
    url: jdbc:h2:file:./target/test-classes/db/test01
    username: root
    password: 123

注意:该yml文件需要放在test/resources目录下,其名为application-test.yml.然后需要创建一个application.yml,配置如下:

spring:
  profiles:
    active: test

之后就可以像使用普通的数据库一样使用这个数据库了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值