`
liudeh_009
  • 浏览: 242773 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

基于spring3的单元测试

阅读更多

        我们以前要进行单元测试,必须先得到ApplicationContext对象,再通过它得到业务对象,非常麻烦,重复代码也多.基于spring3的单元测试很好的解决了这个问题

       基于spring3的单元测试主要用到了下面几个注解

             @ContextConfiguration指定配置文件的路径,这个注解用在类上

             @Resource 往测试类注入bean,这个bean必须在配置文件中配置,这个注解用在属性或set方法上

             @Repeat 指定测试方法重复执行的次数,用在测试方法上

             @Timed指定测试方法在多长时间执行完,如果在指定时间测试方法没有执行完,会抛异常

      测试类除了可以使用以上的注解,同时要继承AbstractJUnit4SpringContextTests,只有继承这个类,才能从spring容器中得到注入对象

 

 1.普通的单元测试

      

 

 2.脱离web容器的springMVC的测试

      传统认为,web应用的测试因为涉及到web组件,需要web容器的支持,这给测试带来复杂性.可不可以脱离web容器对web应用进行测试呢?spring告诉你可以.

      Spring 自身提供了一个 Mock 实现:它可以轻松的对 Web 组件进行单元测试,就象测试 POJO (普通 Java 对象)一样简单.它在J2EE的WEB端为每个关键接口提供了一个Mock 实现

    A .   MockHttpServletRequest HttpServletRequest 接口的 mock 实现。

    B.   MockHttpServletResponse HttpServletResponse 接口的 mock 实现。

    C.   MockHttpSession HttpSession 接口的 mock 实现。

      ......

 

   测试代码如下

   controlle类:

   

  测试类:

 

 

   从上可以看出,spring的mock实现不仅可以用于springMVC的测试,同样可以用于Struts的测试,非常方便

 

  • 大小: 51.7 KB
  • 大小: 36.4 KB
  • 大小: 55.5 KB
分享到:
评论

相关推荐

    Spring3单元测试和集成测试

    例如,对于一个基于Spring MVC的应用: ```java import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot....

    基于Spring的JUnit单元测试

    在进行Spring单元测试时,我们还需要关注隔离性。为了确保每个测试都是独立的,避免一个测试影响另一个测试的结果,我们可以使用`@DirtiesContext`注解来标记那些可能改变上下文状态的测试方法。此外,`@Before`和`@...

    Spring Boot 单元测试和集成测试实现详解

    Spring Boot 单元测试和集成测试实现详解 Springs Boot 是一个基于 Java 的框架,提供了一个便捷的方式来开发基于 Spring 的应用程序。在开发过程中,测试是一个非常重要的步骤,单元测试和集成测试是其中的两种...

    最简单的含单元测试的spring boot+activiti集成demo

    这个集成演示项目旨在帮助开发者快速理解和实现基于Spring Boot的Activiti工作流应用,同时包含了单元测试以确保代码质量。 **Spring Boot** Spring Boot是Spring框架的扩展,它简化了创建独立、生产级别的基于...

    spring MVC junit 单元测试(controller)

    在Spring MVC框架中,单元测试是确保代码质量的重要步骤,特别是在控制器层(Controller)。这篇博客主要探讨了如何使用JUnit进行Spring MVC Controller的单元测试。在实际开发中,单元测试可以帮助我们尽早发现潜在...

    spring单元测试

    接下来,我们关注Spring单元测试的实施。在Spring中,我们可以使用`@RunWith(SpringRunner.class)`和`@SpringBootTest`注解来启动一个完整的Spring应用上下文,以便测试Controller层。例如,对于一个名为`...

    基于Spring的JUnit4测试

    基于Spring的JUnit4单元测试

    spring security测试

    在这个"spring security测试"的主题中,我们将深入探讨如何对Spring Security进行单元测试,以确保我们的安全配置和逻辑正确无误。 首先,Spring Security的核心是它提供的安全拦截器(Security Interceptors),...

    Struts2SpringUnitDemo单元测试

    3. **单元测试**:单元测试是软件开发过程中的重要环节,它验证单个代码单元(如方法或类)的功能是否符合预期。JUnit是Java中最常用的单元测试框架,可以用于编写和运行测试用例。在Struts2SpringUnitDemo中,可能...

    27. Spring Boot Junit单元测试【从零开始学Spring Boot】

    在Spring Boot框架中,单元测试是一项至关重要的任务,它能够帮助开发者确保代码的质量,提前发现潜在问题,并且便于持续集成和重构。本篇内容将基于"27. Spring Boot Junit单元测试【从零开始学Spring Boot】"的...

    (Idea)Spring+MyBatis配置及单元测试

    总结,本篇文章介绍了如何在Idea中基于Maven创建一个整合Spring和MyBatis的项目,涵盖了配置Maven项目、添加依赖、配置Spring和MyBatis、编写Mapper接口和XML映射文件、实现服务层以及进行单元测试等步骤。...

    Spring+hibernate 单元测试

    ### Spring+Hibernate 单元测试详解 #### 一、Spring 2.5 TestContext 测试框架简介 Spring 2.5 版本引入了一个全新的基于注解的测试框架——TestContext,该框架与之前的测试框架相比有着显著的区别。TestContext...

    基于Spring Boot的校园轻博客系统的设计与实现

    软件测试是确保应用质量和稳定性的重要环节,它包括单元测试、集成测试、系统测试和验收测试等多个层面。通过严格的测试流程,可以确保轻博客系统在实际使用过程中,能够达到预期的性能标准,同时保障用户数据的安全...

    spring测试、struts测试、hibernate测试、软件测试、网站测试、利用JBuilder测试的单元测试技术

    本文将深入探讨标题和描述中提到的几个关键测试领域:Spring测试、Struts测试、Hibernate测试、软件测试、网站测试以及使用JBuilder进行的单元测试技术。 首先,让我们从Spring测试开始。Spring是一个广泛使用的...

    Junit 单元测试完整案例

    本案例涵盖了Spring和Struts两大框架的单元测试,旨在帮助开发者掌握如何对这两个流行的Java Web框架进行有效的测试。 一、Junit基础 1. Junit简介:Junit是一款开源的、基于Java的测试框架,由Ernst Leifer和Kent...

    基于 Spring Cloud 2021 、Spring Boot 2.7、 OAuth2 的 RBAC 权限管理系统源码

    5. `src/test`: 测试代码,包括单元测试和集成测试。 理解并掌握这个项目,你需要熟悉Spring Boot的开发、Spring Cloud微服务架构、OAuth2的授权流程以及RBAC权限模型。同时,对于数据库设计和前端开发基础也有一定...

    spring集成TestNG与Mockito框架单元测试方法.pdf

    Spring集成TestNG与Mockito框架单元测试方法的文档详细介绍了如何在Java Spring项目中,利用TestNG和Mockito框架进行单元测试。这种测试方法可以帮助开发者快速上手单元测试,并确保代码质量。文档涉及了多个方面,...

    基于Spring4MVC的测试Demo

    我们还可以使用JUnit进行单元测试,测试单个类或方法的功能,以及Mockito等库来模拟协作对象,确保测试的隔离性。对于集成测试,Spring Boot的TestRestTemplate或WebTestClient可以用来发送HTTP请求并验证响应。 总...

Global site tag (gtag.js) - Google Analytics