zoukankan      html  css  js  c++  java
  • spring配置junit测试

    如果使用maven,在基于spring的项目中添加如下依赖:
    <dependency>  
            <groupId>junit</groupId>  
            <artifactId>junit</artifactId>  
            <version>4.9</version>   
    </dependency>   
    <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-test</artifactId>  
            <version> 3.2.4.RELEASE  </version>  
    </dependency>
    package Solin.Test;
     
    import org.junit.runner.RunWith;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
     
    @RunWith(SpringJUnit4ClassRunner.class) //使用junit4进行测试
    @ContextConfiguration(locations={"classpath:applicationContext.xml"}) //加载配置文件
    //------------如果加入以下代码,所有继承该类的测试类都会遵循该配置,也可以不加,在测试类的方法上///控制事务,参见下一个实例  
    //这个非常关键,如果不加入这个注解配置,事务控制就会完全失效!  
    //@Transactional  
    //这里的事务关联到配置文件中的事务控制器(transactionManager = "transactionManager"),同时//指定自动回滚(defaultRollback = true)。这样做操作的数据才不会污染数据库!  
    //@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)  
    //------------  
    public class BaseJunit4Test{
        
    }
     
    解释下用到的注解:
    @RunWith:用于指定junit运行环境,是junit提供给其他框架测试环境接口扩展,为了便于使用spring的依赖注入,spring提供了org.springframework.test.context.junit4.SpringJUnit4ClassRunner作为Junit测试环境
    @ContextConfiguration({"classpath:applicationContext.xml","classpath:spring/buyer/applicationContext-service.xml"})
    导入配置文件,这里我的applicationContext配置文件是根据模块来分类的。如果有多个模块就引入多个“applicationContext-service.xml”文件。如果所有的都是写在“applicationContext。xml”中则这样导入:
    @ContextConfiguration(locations = "classpath:applicationContext.xml")
    @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)这里的事务关联到配置文件中的事务控制器(transactionManager = "transactionManager"),同时指定自动回滚(defaultRollback = true)。这样做操作的数据才不会污染数据库!
    @Transactional:这个非常关键,如果不加入这个注解配置,事务控制就会完全失效!
    AbstractTransactionalDataSourceSpringContextTests要想构建这一系列的无污染纯绿色事务测试框架就必须找
    到这个基类!(即所有事务均不生效)
     
    <!--数据库字典加载器配置-->
    <bean class="com.latech.dict.DBDictLoader" init-method="loadDBDict">
    <property name="dataSource" ref="dataSource"/>
    <property name="location" value="classpath*:/dict/db/*.xml"/>
    </bean>
     
  • 相关阅读:

    c#常用的基础概念
    Visual Studio2010+SOS.dll调试入门 摘自 http://www.cnblogs.com/luminji/archive/2011/01/27/1946217.html
    优化数据库之前的10个问题
    js数组清空的两种方式
    我的资源(网站, 工具)
    iis使用十大原则
    SQL2005分页存储过程
    温故而知新:Delegate,Action,Func,匿名方法,匿名委托,事件
    无法获得数据库 'model' 上的排他锁 网上搜索结果 IT
  • 原文地址:https://www.cnblogs.com/lhang55/p/9225186.html
Copyright © 2011-2022 走看看