`
piaohai
  • 浏览: 8458 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

spring4 + junit4 事物无法回滚

 
阅读更多

在使用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

 

 

分享到:
评论

相关推荐

    junit5.rar包含JUnit Platform + JUnit Jupiter + JUnit Vintage依赖jar包

    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-...

    spring4+junit4.8 +多线程TheadTool

    在"spring4+junit4.8 +多线程TheadTool"的场景下,我们可以深入探讨以下几个知识点: 1. **Spring4框架**:Spring4在Spring3的基础上进行了许多改进,包括对Java 8的支持,提升了与NoSQL数据库的集成,以及对...

    spring3 + mybatis3 + junit4 可运行项目示例

    这是一个基于Spring3、MyBatis3和JUnit4的可运行项目示例,旨在提供一个完整的、可测试的Java Web应用程序框架。这个项目的核心是利用Spring作为应用的ioc(Inversion of Control,控制反转)和aop(Aspect Oriented...

    spring4+JUnit简单测试

    《Spring4与JUnit的简单测试实践》 在Java开发领域,Spring框架以其强大的功能和灵活性深受开发者喜爱。Spring4作为其一个重要的版本,引入了许多改进和优化,使得测试变得更加便捷。而JUnit作为Java单元测试的事实...

    maven+spring+mybatis+mysql+junit jar项目框架搭建

    在IT行业中,构建一个高效的Java应用开发环境是至关重要的,而"Maven+Spring+MyBatis+MySQL+JUnit"的组合则是一个常见的选择。这个框架集合涵盖了项目构建、依赖管理、业务逻辑处理、数据库交互以及单元测试等多个...

    spring3+hibernate4+maven+junit 多库多数据源实现

    "Spring3+Hibernate4+Maven+JUnit 多库多数据源实现"是一个典型的Java Web项目配置,它涉及了多个核心技术来处理复杂的数据管理需求。下面将详细阐述这些技术以及如何协同工作以实现多库多数据源。 首先,Spring...

    spring4+springmvc+mybatis3+redis2.8+spring-session框架搭建

    本项目采用了Spring 4、Spring MVC、MyBatis 3、Redis 2.8 和 Spring Session 进行集成,构建了一个高效且可扩展的系统。下面将详细解释这些组件及其在项目中的作用。 1. **Spring 4**: Spring 是一个开源的应用...

    Spring+JUnit4 +Ant测试报告

    Spring框架结合JUnit4和Ant构建的测试环境,能够有效地帮助开发者进行高效、可靠的测试。本篇将深入探讨如何利用这些工具进行测试,以及它们各自的关键功能。 首先,让我们了解Spring框架。Spring是Java企业级应用...

    Hibernate4+SpringMVC+Junit4+log4j环境搭建Jar包

    这里我们关注的是基于Java技术栈的Web应用环境,具体包括Hibernate4、SpringMVC、JUnit4和log4j这四个核心组件。下面将详细介绍这些组件以及如何整合它们进行环境搭建。 **1. Hibernate4** Hibernate是一个开源的...

    Spring+Jotm+Hibernate+Oracle+Junit 实现JTA分布式事务要求Demo工程

    3.Spring+Junit4单元测试,优点:不会破坏数据库现场,等等。 (特别注意:Spring3.0里不在提供对jotm的封装,spring-tx里没有JotmFactoryBean.class,我在jar里添加了类) 2)Demo 导入说明: 1.Eclipse ...

    spring+junit4

    这篇教程将带你了解如何结合Spring与JUnit4进行测试驱动的开发。 首先,Spring框架的核心是IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)。IoC意味着应用程序不再直接创建对象,...

    hibernate+spring+junit+ant+mysql

    标题中的“hibernate+spring+junit+ant+mysql”是一个经典的Java开发组合,它涵盖了五个重要的技术领域:Hibernate作为对象关系映射框架,Spring作为全面的轻量级框架,JUnit用于单元测试,Ant作为构建工具,以及...

    springboots+mybatis+junit+oracle.7z

    标题 "springboots+mybatis+junit+oracle.7z" 涉及到的是一个集成开发环境,其中包含了四个核心技术:SpringBoot、Oracle数据库、MyBatis和JUnit。让我们详细了解一下这些技术和它们如何相互协作。 **SpringBoot** ...

    Mockito+Junit5测试方法实践

    内容概要:参考Mockito官方API文档,实践框架每个特性。 适合人群:Mockito入门人员以及想全面...能学到什么:“Mockito 4.6.0 + Junit 5”的组合编程。 使用建议:使用前安装好Maven及Java即可,推荐使用VSCode编辑。

    spring+springmvc+mybatis+maven+junit整合

    【标题】"spring+springmvc+mybatis+maven+junit整合"是一个常见的Java Web开发框架集成,这个项目旨在为初学者提供一个基础的、可运行的示例,以理解这些技术如何协同工作。 【Spring框架】是核心的依赖注入(DI)...

    Selenium+Eclipse+Junit+TestNG.docx

    创建一个新的 Java 项目,在 Eclipse 中新建一个 Java 项目,添加 Junit 4 和 Selenium 相关的 Jar 包,然后创建一个新的包和类,以便编写自动化测试脚本。 相关知识点 * Selenium 自动化测试框架的搭建 * JDK 的...

    最新版本的Struts2+Spring4+Hibernate4框架整合

    同时使用了Struts2、Spring4、Hibernate4、log4j、slf4j、junit4、ehcache等库或框架,搭建一个最基本的项目原型。 三、 三大框架最新版本下载:截止2014-10-01 Struts2.3.6:发布于2014-05-03,目前的最新版本。...

    Structs2+Spring+hibernate+jdom+junit+读取excel+serve2005+oracle+mysql 架包

    标题中的"Structs2+Spring+hibernate+jdom+junit+读取excel+serve2005+oracle+mysql 架包"涉及到一系列在Java开发中常用的框架和技术,这是一套集成的开发环境,可以帮助开发者快速搭建企业级应用。下面将对这些技术...

    Spring4+hibernate4+SpringMVC+Maven

    这个项目“Spring4+hibernate4+SpringMVC+Maven”就是一个典型的Java Web开发组合,它利用了四个关键组件:Spring 4、Hibernate 4、Spring MVC和Maven。让我们逐一探讨这些技术及其在项目中的作用。 1. **Spring 4*...

    Spring+hibernate+junit+aop_ jar包

    标题中的"Spring+Hibernate+junit+aop"是一个经典的Java企业级开发组合,这些技术都是Java后端开发中的重要组成部分。让我们逐一深入理解这些知识点: 1. **Spring**:Spring 是一个开源的应用框架,核心功能包括...

Global site tag (gtag.js) - Google Analytics