关于单体测试的事务操作问题

数据库层:

测试类:

会产生以下问题

原因:使用单体测试,因为没有经过业务层,所以会产生事务问题,这时候是系统默认的事务,无法做增删改的操作

然后我添加了事务,执行操作也显示成功了,可是数据库的数据却没有改变

原因就是虽然操作执行成功了,但是事务在最后的时候回滚了,这表示你所做的操作相当于白做。。。

这时候我们就要防止事务回滚,只需要在测试方法上面再加上@Rollback(false)这一注解就ok了~,加上之后明显事务就变成了提交状态,再查数据库,值也被修改过来了~~

原文地址:https://www.cnblogs.com/-xiaoxiao/p/xiao_.html

时间: 2024-10-17 20:43:27

关于单体测试的事务操作问题的相关文章

单体测试和结合测试相关的总结

第一次接触到Android单体测试和结合测试,查阅了相关资料,学习了很多东西,现总结如下: 单体测试就是测试代码,测试函数的实现是否正确: 单体测试按照等级分为: 1.不考虑函数逻辑,输入一个值(正确的值,临界值,错误的值),执行函数后能否输出想要的值: 2.考虑代码逻辑,其中的每个if语句,case语句,switch语句等都进行测试: 单体测试在源代码的基础上建立junit test,然后写test case: 结合测试是测试apk的: 1.需要导入源代码的R.java文件,因为需要引入源代码

多语句事务操作

要求: 向数据库中插入两条SQL, 要求一条失败, 事务回滚. 环境: spring boot 方法一 : 第一个想到spring的事务机制 -----  @Transactional , 使用之前需要对transactionManager进行配置, 我这边是配置在dataSource的文件, applicationContext.xml文件中 , 引入注解是事务, ①在配置文件中引入<tx:>命名空间 <beans xmlns="http://www.springframew

如何处理Spring、Ibatis结合MySQL数据库使用时的事务操作

Ibatis是MyBatis的前身,它是一个开源的持久层框架.它的核心是SqlMap--将实体Bean跟关系数据库进行映射,将业务代码和SQL语句的书写进行分开.Ibatis是"半自动化"的ORM持久层框架.这里的"半自动化"是相对Hibernate等提供了全面的数据库封装机制的"全自动化"ORM实现而言的,"全自动"ORM实现了POJO与数据库表字段之间的映射并且实现了SQL的自动生成和执行.而Ibatis的着力点,则在于P

如何处理Ibatis结合MySQL数据库使用时的事务操作

Ibatis是MyBatis的前身,它是一个开源的持久层框架.它的核心是SqlMap--将实体Bean跟关系数据库进行映射,将业务代码和SQL语句的书写进行分开.Ibatis是"半自动化"的ORM持久层框架.这里的"半自动化"是相对Hibernate等提供了全面的数据库封装机制的"全自动化"ORM实现而言的,"全自动"ORM实现了POJO与数据库表字段之间的映射并且实现了SQL的自动生成和执行.而Ibatis的着力点,则在于P

junit单体测试(PowerMockito)二

距离上次做junit单体测试几个月,果然又用到了,又学习了一些新的东西,总结一下. 首先是对spy的理解,以前一直用mock,没有用过spy,所以对spy并不了解,最近用过几次后,也在google上学习了一下,网上说的都比较书面,mock:全部mock:spy:部分mock:但是到底什么叫全部,什么叫部分却始终没有能弄明白,自己实际使用后感觉,全部mock应该是对整个方法进行mock,不实际走方法,直接返回mock的返回值:而spy的部分mock应该是虽然mock了这个方法,并且返回了我们设置的

spring(三) spring事务操作

前面一篇博文讲解了什么是AOP.学会了写AOP的实现,但是并没有实际运用起来,这一篇博文就算是对AOP技术应用的进阶把,重点是事务的处理. --wh 一.jdbcTemplate 什么是JdbcTemplate? spring提供用于操作数据库模版,类似Dbutils,通俗点讲,我们操作数据库,spring也会帮我们提供一个操作数据库的工具供我们使用,而不用我们自己手动编写连接数据库,获取结果集等等操作,这个工具就是JdbcTemplate.跟Dbutils一样,想要使用JdbcTemplate

Java框架spring学习笔记(十八):事务操作

事务操作创建service和dao类,完成注入关系 service层叫业务逻辑层 dao层单纯对数据库操作层,在dao层不添加业务 假设现在有一个转账的需求,狗蛋有10000元,建国有20000元,狗蛋向建国转账1000元钱. 编写service层创建业务逻辑,OrderService.java 1 import cn.dao.OrderDao; 2 3 public class OrderService { 4 private OrderDao orderDao; 5 6 public voi

spring的事务操作(重点)

这篇文章一起来回顾复习下spring的事务操作.事务是spring的重点, 也是面试的必问知识点之一. 说来这次面试期间,也问到了我,由于平时用到的比较少,也没有关注过这一块的东西,所以回答的不是特别好,所以借这一篇文章来回顾总结一下,有需要的朋友,也可以点赞收藏一下,复习一下这方面的知识,为年后的面试做准备. 首先,了解一下什么是事务? --- 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行. 事务处理可以确

spring学习(三) ———— spring事务操作

前面一篇博文讲解了什么是AOP.学会了写AOP的实现,但是并没有实际运用起来,这一篇博文就算是对AOP技术应用的进阶把,重点是事务的处理. --wh 一.jdbcTemplate 什么是JdbcTemplate? spring提供用于操作数据库模版,类似Dbutils,通俗点讲,我们操作数据库,spring也会帮我们提供一个操作数据库的工具供我们使用,而不用我们自己手动编写连接数据库,获取结果集等等操作,这个工具就是JdbcTemplate.跟Dbutils一样,想要使用JdbcTemplate