Junit-对涉及数据库操作的服务进行单元测试
之前一直不知道怎么通过单元测试,对涉及数据库操作的服务进行验证,现在了解了,做个记录。
****************************************************************************************************************************
对涉及数据库操作的服务进行单元测试时,需要在单元测试类里配置加载对应的配置文件,好的方法应该是写一个父测试类,在此父测试类上配置加载对应的配置文件,具体的测试类可以继承该父测试类,这样避免每次测试新的服务都需要配置。
@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-对涉及数据库操作的服务进行单元测试相关推荐
- php涉及数据库操作时响应很慢。
症状描述: 网站是php开发的,大部分页面响应很慢. 本地开发时响应速度很快,但是部署到生产环境后大部分响应很慢. 通过谷歌浏览调试发现PHP页面加载很慢,有个别的php请求的响应时间甚至超过10秒, ...
- 微信小程序【腾讯云开发】创建并上线小程序项目(涉及-数据库操作)
学习 视频 网址 :[云开发实战]30分钟创建并上线小程序项目 https://www.bilibili.com/video/BV1Pc411h7RU 视频-项目-源码 : 链接 : https:// ...
- jsp网页实现登录用户名于密码的验证(不涉及数据库操作)
效果图: 登录失败图: 成功登录图: 代码login.jsp: <%@ page language="java" contentType="text/html; c ...
- 伪装成mysql的备_如何伪装成一个服务端开发(六) -- 数据库操作
目录 如何伪装成一个服务端开发(六) 前言 本篇开始学习Spring 的数据库连接. 术语 数据库连接涉及到一些术语,如果在学习之前没有搞清楚,很容易在业务理解上出现偏差. JDBC : Java D ...
- java 无锁缓存_如何在高并发环境下设计出无锁的数据库操作(Java版本)
一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...
- 如何在高并发环境下设计出无锁的数据库操作(Java版本) 转载
一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...
- 使用Memcache缓存mysql数据库操作的原理和缓存过程浅析
1.首先明确是不是一定要上缓存,当前架构的瓶颈在哪里,若瓶颈真是数据库操作上,再继续往下看. 2.明确memcached和redis的区别,到底要使用哪个.前者终究是个缓存,不可能永久保存数据(LRU ...
- 基于C API的SQLite3基本数据库操作
SQLite是一款开源嵌入式文件型数据库,这个主要是和其他一些C/S架构的关系型数据库比较而来的,比如MySQL等. 说他是嵌入式,因为SQLite的所有功能全部包装在一个dll中,我们只需要使用其中 ...
- 【云和恩墨业务介绍】之数据库性能优化服务
数据库性能优化的必要性 性能问题对于行业.企业用户的信息化处理能力.客户的直接体验.硬件资源的投入成本. 运维要求都有着直接的影响,一旦性能问题爆发,将导致业务系统不可正常使用,客户体验变差等一系列影 ...
最新文章
- mysql (双主,互主)
- 构建LAMP平台及应用系统
- .NET 6新特性试用 | 最小Web API
- 如何将两个DateTimePicker的日期和时间组合成一个值
- 服务器raid1重装系统,做软RAID1 重装系统后数据会丢失吗
- html登录界面设计代码_最简洁实现Github登录的JS代码示例
- qxdm无法安装问题闪一下_win10系统显示“出现了问题,无法安装功能”解决办法...
- python循环习题
- 多媒体计算机教室的构成,几种常见的学习环境--多媒体综合教室的构成及其教学功能...
- 2018年信息安全大事件一览
- 图像坐标系、相机坐标系和世界坐标系 相机的内、外参数矩阵
- 输油管的布置数学建模matlab,输油管布置问题的优化模型
- html文字段落加边框线,html边框样式 怎么用html给文字加边框的?
- python爬取携程旅游_「携程网 机票」使用requests爬取携程网飞机票价格实例 - seo实验室...
- 微信有鸿蒙版的的吗,微信鸿蒙版本下载-微信鸿蒙版本下载最新官方版 v7.0.20-游人手游网...
- 柳岩直播卖货,三小时豪赚1500万?快手为什么那么带货?
- 2021年山东省安全员C证最新解析及山东省安全员C证实操考试视频
- java 发送邮件(SSL加密方式,含附件)
- QT实现一个简单计算器
- db2时间差换成月_IBM DB2计算两个时间戳记间的时间差