首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

JUnit组合Spring TestContext使用

2013-08-10 
JUnit结合Spring TestContext使用前言:本文章需要JUnit单元测试框架的基础知识,若读者还不具备,请阅读笔者

JUnit结合Spring TestContext使用

前言:本文章需要JUnit单元测试框架的基础知识,若读者还不具备,请阅读笔者的JUnit文章:http://ray-yui.iteye.com/blog/1914106



UnitTest系列文章:
      使用JUnit开发单元测试:http://ray-yui.iteye.com/blog/1914106
      使用DBUnit扩展JUnit:http://ray-yui.iteye.com/blog/1914979
      使用EasyMock扩展Junithttp://ray-yui.iteye.com/blog/1916170
      使用Cactus测试Servlethttp://ray-yui.iteye.com/blog/1917515
      使用Cobertura生成测试覆盖率报告http://ray-yui.iteye.com/blog/1921958




什么是Spring TestContext?
      Spring TestContext是Spring提供的一套基于注解的Test框架,Spring TestContext有非常好的兼容性,可以无缝兼容JUnit,TestNG等单元测试框架,而且在其基础上增加更多的功能


Spring TestContext为我们带来什么?
      在Spring应用大行其道的今天,使用Spring来构建应用已经是再普通不过的事情,但当使用JUnit,TestNG等传统的单元测试技术和Spring进行结合的时候,就会出现很多并不如意的事情
      1.Spring容器初始化问题:此问题已于JUnit4中被解决,通过使用@BeforeClass
         可以有效防止Spring容器被多次初始化的问题

      2.硬编码获取Bean:此问题是由于JUnit并不兼容Spring,所以当单元测试运行
         的时候,无法解释Spring独有的注解,从而需要使用硬编码来获取Bean

      3.数据现场破坏:JUnit当中可以使用DBUnit来进行数据现场维护的解决方案,
         详情可以通过笔者的DBUnit使用了解DBUnit,Spring TestContext通过AOP
         声明式事务来对单元测试进行回滚,有效的解决了数据现场的问题

      4.事务:通常我们的单元测试都需要和数据库进行交互,但传统的JUnit的
        组成单元为TestCase,并不存在事务的概念,而我们大多数情况下都需要
        观察事务的执行过程或总体的性能,特别是对长事务模块的测试,
        Spring TestContext允许单元测试支持事务的控制


Spring TestContext使用:
      首先为Maven增加Spring的依赖,由于Spring有众多依赖,这里就不给出代码了


      以下为Spring TestContext的代码

 mark 

热点排行