在使用junit 4 测试spring4代码时, 事物始终无法回滚, 即使已经在方法中增加了@Transactiona 和 @Rollback(true)标签, 但是每次执行后数据还是插入到数据库中.
异常代码:
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration ({"classpath*:applicationContext*.xml"}) public class SysUserServiceTest extends AbstractJUnit4SpringContextTests { @Autowired private SysUserService sysUserService; @Test @Transactional @Rollback(true) public void testInsert() { SysUser user = new SysUser(); user.setUserId(11); user.setName("dan"); sysUserService.insert(user); } }
分析:
测试代码继承了AbstractJUnit4SpringContextTests , 在AbstractJUnit4SpringContextTests 中已经存在事务,并且默认事务是自动提交,它覆盖了后来在方法中配置的事务, 另外就是在测试类已经使用了@RunWith, 所以测试类无需再继承AbstractJUnit4SpringContextTests
解决:
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration ({"classpath*:applicationContext*.xml"}) public class SysUserServiceTest { @Autowired private SysUserService sysUserService; @Test @Transactional @Rollback(true) public void testInsert() { SysUser user = new SysUser(); user.setUserId(19); user.setName("dan"); sysUserService.insert(user); } }
我的博客: www.itart.top
相关推荐
spring3 + mybatis3 + junit4 可运行项目示例 可进行单元测试,集成测试。。。
spring4+junit4.8 +多线程TheadTool
免费了,spring4+JUnit简单测试,注解组件扫描和xml显示组件扫描,我自己都忘了里面有什么了。
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage,包含依赖包:junit-jupiter-5.5.1.jar,junit-jupiter-engine-5.5.1.jar,junit-jupiter-params-5.5.1.jar,junit-platform-launcher-1.5.1.jar,junit-...
maven+spring+mybatis+mysql+junit jar项目框架搭建
hibernate+spring+junit+ant+mysql 小实例。能够当模板
maven+spring+mybatis+junit实例
hibernate+spring +ant+junit 1.整合hibernate+spring 2.ant自动生成xml文件和api 3.junit测试hql语句 4.c标签写的前台分页程序
spring3+hibernate4+maven+junit 多库多数据源实现,非常好的一个学习多数据分点管理,分别连接不同类型数据源的方法
spring+springmvc+mybatis+maven+junit的整合,适合初学者
Hibernate4+SpringMVC+Junit4+log4j环境搭建Jar包下载
Structs2+Spring+hibernate+jdom+junit+读取excel+serve2005+oracle+mysql 架包 这是所有的架包 压箱的宝物 以后你们就不用下载了
spring+springMVC+mybatis+maven+junit+mysql
Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2+json+junit4所有的jar包,总共32个!
3.Spring+Junit4单元测试,优点:不会破坏数据库现场,等等。 (特别注意:Spring3.0里不在提供对jotm的封装,spring-tx里没有JotmFactoryBean.class,我在jar里添加了类) 2)Demo 导入说明: 1.Eclipse ...
springboot2.0.4+oracle+mybatis+junit的整合,内包含junit对mybatis的单元测试代码
内容概要:参考Mockito官方API文档,实践框架每个特性。 适合人群:Mockito入门人员以及想全面...能学到什么:“Mockito 4.6.0 + Junit 5”的组合编程。 使用建议:使用前安装好Maven及Java即可,推荐使用VSCode编辑。
maven+springMVC+mybatis+velocity+mysql+junit项目框架搭建
使用spring 和junit的一个小案例,用来了解如何使用spring和junit4。入门级
毕业设计&课设--基于Structs+Hibernate+Spring+mahout+bootstrap+junit