`

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 测试框架

    首先,Spring TestContext框架的核心是`@ContextConfiguration`注解,它用于指定测试类中应用上下文的配置。你可以通过此注解提供XML配置文件的位置,或者使用Java配置类。例如: ```java import org.spring...

    Spring 2.5 TestContext

    Spring 2.5 TestContext框架是Spring框架的一个重要组成部分,主要设计用于简化单元测试和集成测试的编写。这个框架提供了一种结构化的测试环境,它允许开发者在测试中利用Spring的依赖注入特性,以及对...

    Spring测试框架.rar

    TestContext框架是Spring测试支持的一部分,它提供了一个统一的测试上下文,可以加载Spring配置,并为测试注入依赖。以下是对Spring测试框架及其核心组件的详细说明: 1. **测试注解**:Spring测试框架利用注解简化...

    eclipse搭建spring2.5

    5. **测试**:创建一个JUnit测试类,使用Spring的TestContext框架来加载配置并运行测试。确保你的测试类继承了`AbstractJUnit4SpringContextTests`或`AbstractTestNGSpringContextTests`(取决于你使用的测试框架)...

    Spring2.5架构图

    10. **测试支持**:Spring 2.5 强化了测试框架,包括 `MockMVC` 和 `TestContext` 框架,使得单元测试和集成测试更加方便。 以上是 Spring 2.5 架构中的核心知识点,它们共同构建了一个强大且灵活的应用开发框架,...

    Spring+hibernate 单元测试

    #### 一、Spring 2.5 TestContext 测试框架简介 Spring 2.5 版本引入了一个全新的基于注解的测试框架——TestContext,该框架与之前的测试框架相比有着显著的区别。TestContext 测试框架不再依赖于特定的测试基类,...

    传智播客spring2.5 ppt

    Spring 2.5提供了一套完整的测试框架,包括单元测试和集成测试工具,如MockMVC和TestContext框架,使得测试Spring应用变得更加便捷。 9. **Web服务支持** Spring 2.5加强了对Web服务的支持,包括SOAP和RESTful...

    Spring2.5-中文参考手册

    8. **单元测试与集成测试支持**:Spring提供TestContext框架,支持Junit、Mockito等工具进行单元测试和集成测试,方便开发者编写和运行测试用例。 9. **Spring Expression Language (SpEL)**:SpEL是Spring提供的...

    spring2.5 中文参考手册

    10. **单元测试和集成测试支持**:Spring提供了TestContext框架,使得编写和运行单元测试以及集成测试变得简单。 通过阅读这本中文参考手册,开发者可以深入了解Spring 2.5的各种功能,掌握如何使用Spring构建高...

    springframework2.5源代码

    9. **集成测试**:Spring 2.5提供了方便的测试支持,如TestContext框架,使得集成测试变得简单。它允许在测试环境中轻松地加载ApplicationContext,并支持模拟bean和交易管理。 10. **Portlet MVC**:除了传统的Web...

    spring2.5 api 完全参考手册chm api

    10. **测试支持**:Spring 2.5提供了全面的测试工具和API,如`Spring TestContext Framework`,使得单元测试和集成测试变得更加容易。 了解并熟练运用上述知识点,对于初学者来说,是快速掌握Spring框架的关键。...

    spring 2.5开发手册

    10. **测试支持**:Spring提供了丰富的测试工具和API,如Spring TestContext Framework,支持单元测试和集成测试,可以方便地进行依赖注入测试。 以上只是Spring 2.5中的一部分关键特性。在《Spring 2.5 开发手册》...

    Spring2.5开发简明教程中文版

    Spring 2.5增强了测试支持,提供了TestContext框架,支持集成测试,包括对Spring配置的加载、事务管理、模拟对象等。 **国际化** Spring提供了对国际化的支持,通过MessageSource接口可以方便地实现多语言环境下的...

    spring2.5-reference.pdf

    根据提供的信息,我们可以总结出关于“spring2.5-reference.pdf”的关键知识点,这些知识点主要围绕Spring框架的基础概念、核心功能以及使用方法展开。 ### Spring框架简介 Spring框架是一款开源的Java平台应用...

    Spring 2.5 开发手册

    在测试方面,手册提供了关于单元测试和集成测试的指导,包括使用JUnit、Mockito等工具,以及Spring的TestContext框架,帮助开发者编写高质量的测试代码,确保软件的稳定性和可靠性。 最后,手册还包含了一些最佳...

    spring源代码2.5

    9. **集成测试**:Spring 2.5提供了更全面的测试支持,包括Mock对象、TestContext框架和`@RunWith(SpringJUnit4ClassRunner.class)`注解,便于进行单元测试和集成测试。 10. **国际化支持**:Spring 2.5加强了对...

    pro spring 2.5

    8. **单元测试与集成测试**:Spring提供了强大的测试支持,包括Mock对象、TestContext框架等,使得开发者能够编写高效的单元测试和集成测试。 9. **Spring Web Services**:2.5版本还支持创建和消费Web服务,包括...

    string 帮助手册(spring2.5)

    9. **测试支持**:Spring提供了一系列测试工具和API,方便进行单元测试和集成测试,包括Mock对象和TestContext框架。 10. **Spring Batch**:对于批量处理任务,Spring Batch提供了一套完整的解决方案,包括读取、...

Global site tag (gtag.js) - Google Analytics