我们以前要进行单元测试,必须先得到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
分享到:
相关推荐
例如,对于一个基于Spring MVC的应用: ```java import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot....
在进行Spring单元测试时,我们还需要关注隔离性。为了确保每个测试都是独立的,避免一个测试影响另一个测试的结果,我们可以使用`@DirtiesContext`注解来标记那些可能改变上下文状态的测试方法。此外,`@Before`和`@...
Spring Boot 单元测试和集成测试实现详解 Springs Boot 是一个基于 Java 的框架,提供了一个便捷的方式来开发基于 Spring 的应用程序。在开发过程中,测试是一个非常重要的步骤,单元测试和集成测试是其中的两种...
这个集成演示项目旨在帮助开发者快速理解和实现基于Spring Boot的Activiti工作流应用,同时包含了单元测试以确保代码质量。 **Spring Boot** Spring Boot是Spring框架的扩展,它简化了创建独立、生产级别的基于...
在Spring MVC框架中,单元测试是确保代码质量的重要步骤,特别是在控制器层(Controller)。这篇博客主要探讨了如何使用JUnit进行Spring MVC Controller的单元测试。在实际开发中,单元测试可以帮助我们尽早发现潜在...
接下来,我们关注Spring单元测试的实施。在Spring中,我们可以使用`@RunWith(SpringRunner.class)`和`@SpringBootTest`注解来启动一个完整的Spring应用上下文,以便测试Controller层。例如,对于一个名为`...
基于Spring的JUnit4单元测试
在这个"spring security测试"的主题中,我们将深入探讨如何对Spring Security进行单元测试,以确保我们的安全配置和逻辑正确无误。 首先,Spring Security的核心是它提供的安全拦截器(Security Interceptors),...
3. **单元测试**:单元测试是软件开发过程中的重要环节,它验证单个代码单元(如方法或类)的功能是否符合预期。JUnit是Java中最常用的单元测试框架,可以用于编写和运行测试用例。在Struts2SpringUnitDemo中,可能...
在Spring Boot框架中,单元测试是一项至关重要的任务,它能够帮助开发者确保代码的质量,提前发现潜在问题,并且便于持续集成和重构。本篇内容将基于"27. Spring Boot Junit单元测试【从零开始学Spring Boot】"的...
总结,本篇文章介绍了如何在Idea中基于Maven创建一个整合Spring和MyBatis的项目,涵盖了配置Maven项目、添加依赖、配置Spring和MyBatis、编写Mapper接口和XML映射文件、实现服务层以及进行单元测试等步骤。...
### Spring+Hibernate 单元测试详解 #### 一、Spring 2.5 TestContext 测试框架简介 Spring 2.5 版本引入了一个全新的基于注解的测试框架——TestContext,该框架与之前的测试框架相比有着显著的区别。TestContext...
软件测试是确保应用质量和稳定性的重要环节,它包括单元测试、集成测试、系统测试和验收测试等多个层面。通过严格的测试流程,可以确保轻博客系统在实际使用过程中,能够达到预期的性能标准,同时保障用户数据的安全...
本文将深入探讨标题和描述中提到的几个关键测试领域:Spring测试、Struts测试、Hibernate测试、软件测试、网站测试以及使用JBuilder进行的单元测试技术。 首先,让我们从Spring测试开始。Spring是一个广泛使用的...
本案例涵盖了Spring和Struts两大框架的单元测试,旨在帮助开发者掌握如何对这两个流行的Java Web框架进行有效的测试。 一、Junit基础 1. Junit简介:Junit是一款开源的、基于Java的测试框架,由Ernst Leifer和Kent...
5. `src/test`: 测试代码,包括单元测试和集成测试。 理解并掌握这个项目,你需要熟悉Spring Boot的开发、Spring Cloud微服务架构、OAuth2的授权流程以及RBAC权限模型。同时,对于数据库设计和前端开发基础也有一定...
Spring集成TestNG与Mockito框架单元测试方法的文档详细介绍了如何在Java Spring项目中,利用TestNG和Mockito框架进行单元测试。这种测试方法可以帮助开发者快速上手单元测试,并确保代码质量。文档涉及了多个方面,...
我们还可以使用JUnit进行单元测试,测试单个类或方法的功能,以及Mockito等库来模拟协作对象,确保测试的隔离性。对于集成测试,Spring Boot的TestRestTemplate或WebTestClient可以用来发送HTTP请求并验证响应。 总...