之前一直不知道怎么通过单元测试,对涉及数据库操作的服务进行验证,现在了解了,做个记录。

****************************************************************************************************************************

对涉及数据库操作的服务进行单元测试时,需要在单元测试类里配置加载对应的配置文件,好的方法应该是写一个父测试类,在此父测试类上配置加载对应的配置文件,具体的测试类可以继承该父测试类,这样避免每次测试新的服务都需要配置。

@RunWith(SpringJUnit4ClassRunner.class)  //使用junit4进行测试
@ContextConfiguration({"/config/spring_common.xml"}) //加载配置文件
//------------如果加入以下代码,所有继承该类的测试类都会遵循该配置,也可以不加.在测试类的方法上///控制事务,参见下一个实例
//@Transactional//这个非常关键,如果不加入这个注解配置,事务控制就会完全失效!
//这里的事务关联到配置文件中的事务控制器(transactionManager = "transactionManager"),同时//指定自动回滚(defaultRollback = true)。这样做操作的数据才不会污染数据库!
//@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
//------------
public class BaseJunit4Test {

}

具体的测试类 extends BaseJunit4Test,即可对涉及数据库操作的服务进行单元测试了。红色部分代表必须的注解。

Junit-对涉及数据库操作的服务进行单元测试相关推荐

  1. php涉及数据库操作时响应很慢。

    症状描述: 网站是php开发的,大部分页面响应很慢. 本地开发时响应速度很快,但是部署到生产环境后大部分响应很慢. 通过谷歌浏览调试发现PHP页面加载很慢,有个别的php请求的响应时间甚至超过10秒, ...

  2. 微信小程序【腾讯云开发】创建并上线小程序项目(涉及-数据库操作)

    学习 视频 网址 :[云开发实战]30分钟创建并上线小程序项目 https://www.bilibili.com/video/BV1Pc411h7RU 视频-项目-源码 : 链接 : https:// ...

  3. jsp网页实现登录用户名于密码的验证(不涉及数据库操作)

    效果图: 登录失败图: 成功登录图: 代码login.jsp: <%@ page language="java" contentType="text/html; c ...

  4. 伪装成mysql的备_如何伪装成一个服务端开发(六) -- 数据库操作

    目录 如何伪装成一个服务端开发(六) 前言 本篇开始学习Spring 的数据库连接. 术语 数据库连接涉及到一些术语,如果在学习之前没有搞清楚,很容易在业务理解上出现偏差. JDBC : Java D ...

  5. java 无锁缓存_如何在高并发环境下设计出无锁的数据库操作(Java版本)

    一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...

  6. 如何在高并发环境下设计出无锁的数据库操作(Java版本) 转载

    一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...

  7. 使用Memcache缓存mysql数据库操作的原理和缓存过程浅析

    1.首先明确是不是一定要上缓存,当前架构的瓶颈在哪里,若瓶颈真是数据库操作上,再继续往下看. 2.明确memcached和redis的区别,到底要使用哪个.前者终究是个缓存,不可能永久保存数据(LRU ...

  8. 基于C API的SQLite3基本数据库操作

    SQLite是一款开源嵌入式文件型数据库,这个主要是和其他一些C/S架构的关系型数据库比较而来的,比如MySQL等. 说他是嵌入式,因为SQLite的所有功能全部包装在一个dll中,我们只需要使用其中 ...

  9. 【云和恩墨业务介绍】之数据库性能优化服务

    数据库性能优化的必要性 性能问题对于行业.企业用户的信息化处理能力.客户的直接体验.硬件资源的投入成本. 运维要求都有着直接的影响,一旦性能问题爆发,将导致业务系统不可正常使用,客户体验变差等一系列影 ...

最新文章

  1. mysql (双主,互主)
  2. 构建LAMP平台及应用系统
  3. .NET 6新特性试用 | 最小Web API
  4. 如何将两个DateTimePicker的日期和时间组合成一个值
  5. 服务器raid1重装系统,做软RAID1 重装系统后数据会丢失吗
  6. html登录界面设计代码_最简洁实现Github登录的JS代码示例
  7. qxdm无法安装问题闪一下_win10系统显示“出现了问题,无法安装功能”解决办法...
  8. python循环习题
  9. 多媒体计算机教室的构成,几种常见的学习环境--多媒体综合教室的构成及其教学功能...
  10. 2018年信息安全大事件一览
  11. 图像坐标系、相机坐标系和世界坐标系 相机的内、外参数矩阵
  12. 输油管的布置数学建模matlab,输油管布置问题的优化模型
  13. html文字段落加边框线,html边框样式 怎么用html给文字加边框的?
  14. python爬取携程旅游_「携程网 机票」使用requests爬取携程网飞机票价格实例 - seo实验室...
  15. 微信有鸿蒙版的的吗,微信鸿蒙版本下载-微信鸿蒙版本下载最新官方版 v7.0.20-游人手游网...
  16. 柳岩直播卖货,三小时豪赚1500万?快手为什么那么带货?
  17. 2021年山东省安全员C证最新解析及山东省安全员C证实操考试视频
  18. java 发送邮件(SSL加密方式,含附件)
  19. QT实现一个简单计算器
  20. db2时间差换成月_IBM DB2计算两个时间戳记间的时间差

热门文章

  1. JUnit version 3.8 or later expected
  2. 基础算法题——nico和niconiconi(动态规划)
  3. go-micro教程
  4. 请你谈谈为什么分布式系统需要限流器
  5. sja1000 c语言,基于51单片机SJA1000 CAN通讯实现
  6. 新程序猿如何度过试用期
  7. 2022全国大学生数学建模A题的思路与解法
  8. my firefox常用的插件介绍
  9. yoyo跑_全力冲刺 目标YOYO(图)
  10. 已知有十六支男子足球队参加2008北京奥运会。写一个程序,把这16支球队随机分为4个组。