`

Spring 2.5 TestContext 测试框架--简介

    博客分类:
  • TDD
阅读更多
Spring 2.5 TestContext 测试框架用于测试基于 Spring 的程序,TestContext 测试框架和低版本 Spring 测试框架没有任何关系,是一个全新的基于注解的测试框架,为 Spring 推荐使用该测试框架。

Spring 2.5 相比于 Spring 2.0 所新增的最重要的功能可以归结为以下 3 点:
(1)基于注解的 IoC 功能;
(2)基于注解驱动的 Spring MVC 功能;
(3)基于注解的 TestContext 测试框架

JUnit 测试基于 Spring 的程序,将存在以下 4 点明显的不足:
  • 导致 Spring 容器多次初始化问题:根据 JUnit 测试用例的调用流程,每执行一个测试方法都会重新创建一个测试用例实例并调用其 setUp() 方法。由于在一般情况下,我们都在 setUp() 方法中初始化 Spring 容器,这意味着测试用例中有多少个测试方法,Spring 容器就会被重复初始化多少次。
  • 需要使用硬编码方式手工获取 Bean:在测试用例中,我们需要通过 ApplicationContext.getBean() 的方法从 Spirng 容器中获取需要测试的目标 Bean,并且还要进行造型操作。
  • 数据库现场容易遭受破坏:测试方法可能会对数据库记录进行更改操作,破坏数据库现场。虽然是针对开发数据库进行测试工作的,但如果数据操作的影响是持久的,将会形成积累效应并影响到测试用例的再次执行。
  • 不容易在同一事务下访问数据库以检验业务操作的正确性:当测试固件操作数据库时,为了检测数据操作的正确性,需要通过一种方便途径在测试方法相同的事务环境下访问数据库,以检查测试固件数据操作的执行效果。如果直接使用 JUnit 进行测试,我们很难完成这项操作。

 
关于测试框架的使用,直接上代码 
@ContextConfiguration({ "classpath:applicationContext.xml" })
public class UserManagerTest extends AbstractTransactionalJUnit4SpringContextTests {
    @Autowired
    private UserManager mgr;
    private User user;

    @Test
    public void testGetUser() throws Exception {
        user = mgr.getUserByUsername("user");
        assertNotNull(user);
    }


(1)UserManagerTest继承AbstractTransactionalJUnit4SpringContextTests。
(2)标注一个类级的@ContextConfiguration 注解。applicationContext.xml为Spring 配置文件。
(3)属性 @Autowired 注解。让 Spring 容器自动注入 UserService 类型的 Bean。
(4)测试方法@Test 注解。@Test 是 JUnit 4.4 所定义的注解。

更详细的Spring TestContext 测试框架体系结构介绍:
http://www.ibm.com/developerworks/cn/java/j-lo-spring25-test/
分享到:
评论

相关推荐

    使用 Spring 2.5 TestContext 测试框架

    NULL 博文链接:https://lgstarzkhl.iteye.com/blog/617717

    使用Spring2.5TestContext测试框架

     概述直接使用JUnit测试Spring程序存在的不足一个需要测试的Spring服务类编写UserService的测试用例准备测试数据并检测运行结果SpringTestContext测试框架体系结构小结参考资料Spring2.5TestContext测试框架用于...

    Spring 2.5 TestContext

    Spring 2.5 TestContext

    Spring_TestContext测试框架

    Spring_TestContext测试框架

    spring-test-junit5, JUnit ( a )的spring TestContext框架扩展( a ).zip

    spring-test-junit5, JUnit ( a )的spring TestContext框架扩展( a ) spring 5测试支持这个项目作为 5的正式 Prototype,在 spring TestContext框架测试支持,并与 SPR-13575结合到 Spring Framework 。 因此,在...

    Spring TestContext

    Spring TestContext Framework是spring-test模块中提供的一个测试框架,能够用于单元测试和集成测试。

    springboot学习思维笔记.xmind

    Spring TestContext Framework集成测试 SpringMVC基础 Spring MVC概述 SpringMVC项目快速搭建 构建Maven项目 日志配置 演示页面 Spring MVC配置 Web配置 简单控制器 运行 Spring MVC...

    spock-spring-0.7-groovy-2.0.jar

    Spock的Spring模块可以将Spring的TestContext框架与Spock一起使用。 支持Spring 2.5.x,3.x和4.x。 org.spockframework/spock-spring/0.7-groovy-2.0/spock-spring-0.7-groovy-2.0.jar

    spring5.0.0RC3

    Last Release on Jul 20, 2017 目前最新的Spring5的11个jar. 包含 Spring Context, Spring Core,Spring Beans, Spring Web, Spring Web MVC , Spring TestContext Framework, orm , aop 等

    接口测试白皮书--淘宝(中国)软件有限公司

    2009/8/31 1 接口测试的背景 11 什么是接口测试 ...53 Spring TestContext Framework 54 Unitils 55 TestNG 56 CruiseControl 57 Clover 58 Mock 6 接口测试的方向 7 参考资料 8 作者介绍

    spring-framework-reference-4.1.2

    3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................

    Embedded-database-spring-test:一个库,用于为Spring集成测试创建隔离的嵌入式数据库

    产品特点支持Spring和Spring Boot框架支持的版本是Spring 4.3.0+和Spring Boot 1.4.0+ 与Spring TestContext框架自动集成完全支持上下文缓存与Flyway数据库迁移工具无缝集成只需将@FlywayTest批注放置在测试类或方法...

    spring-test-3.2.13.RELEASE.jar

    Spring TestContext框架 org.springframework/spring-test/3.2.13.RELEASE/spring-test-3.2.13.RELEASE.jar

    spring-test-5.0.18.RELEASE.jar

    Spring TestContext框架 org.springframework/spring-test/5.0.18.RELEASE/spring-test-5.0.18.RELEASE.jar

    spring-test-3.0.0.RELEASE.jar

    Spring TestContext框架 org.springframework/spring-test/3.0.0.RELEASE/spring-test-3.0.0.RELEASE.jar

    Spring 5 英文文档全套.7z

    模拟对象,TestContext框架,Spring MVC测试,WebTestClient。 资料存取 事务,DAO支持,JDBC,O / R映射,XML编组。 Web Servlet Spring MVC,WebSocket,SockJS,STOMP消息传递。 网络反应 Spring WebFlux,...

    spring-test-4.3.9.RELEASE.jar

    Spring TestContext框架 org.springframework/spring-test/4.3.9.RELEASE/spring-test-4.3.9.RELEASE.jar

    Spring中文帮助文档

    8.3.7. Spring TestContext Framework 8.3.8. PetClinic示例 8.4. 更多资源 II. 中间层数据访问 9. 事务管理 9.1. 简介 9.2. 动机 9.3. 关键抽象 9.4. 使用资源同步的事务 9.4.1. 高层次方案 9.4.2. 低...

    Spring API

    8.3.7. Spring TestContext Framework 8.3.8. PetClinic示例 8.4. 更多资源 II. 中间层数据访问 9. 事务管理 9.1. 简介 9.2. 动机 9.3. 关键抽象 9.4. 使用资源同步的事务 9.4.1. 高层次方案 9.4.2. 低...

Global site tag (gtag.js) - Google Analytics