`
lxx_amy
  • 浏览: 16511 次
  • 性别: Icon_minigender_2
  • 来自: 黄冈
最近访客 更多访客>>
社区版块
存档分类
最新评论

利用spring进行简化测试

阅读更多
下午复习了一点关于spring简化测试方面的内容,比较感兴趣,就记录下来啦,毕竟记下东西以后可以来看看的,记忆力不总是很好的,但写的东西可以当作复习资料来看看的。

利用spring的mock类进行单元测试:
   spring框架提供了大量测试的mock类,包括与jndi,porlet,web应用相关的mock类。尤其是web应用相关的mock类,可以大大提高web组件测试的方便性。

打开spring的下载包的mock文件夹(路径...mock\org\springframework\mock\web),就发觉有如下几个文件:

MockHttpServletRequest:是HttpServletRequest接口的mock实现,用来模拟客户端的HTTP请求,很常用的一个类。

MockHttpServletResponse:是HttpServletResponse接口的mock实现,用于模拟服务器对客户端的响应。

MockHttpSession:是对HttpSession接口的mock实现。

DelegatingServletInputStream:是对ServletInputStream接口的mock实现。

DelegatingServletOutputStream:ServletOutputStream的mock实现。需要拦截和分析服务器的输出的流的内容,可以使用该类。

其他的,例如MockFilterConfig,MockPageContext(可以测试预编译的

JSP),MockRequestDispatcher,MockServletConfig看名称就知道大概是mock什么的。
举一个例子:

Java代码 
1.MockHttpServletRequest request =  new MockHttpServletRequest("POST","/index.do");  
2.request.addParameter("username","name");  
3.request.addParameter("password","word"); 
MockHttpServletRequest request =  new MockHttpServletRequest("POST","/index.do");
request.addParameter("username","name");
request.addParameter("password","word");



利用spring来进行集成测试:
1、AbstractSpringContextTests类[1],该类全部方法是protected的,主要用于子类重写。

2、AbstractDependencyInjectionSpringContextTests类[2]:继承于类[1]:名字N长的。如果仅仅使用Spring依赖注入功能,可以让测试用例继承该类。

3、AbstractTransactionalSpringContextTests类[3]:继承于类[2],继承该类的测试用例在spring管理的事务中进行,测试完后对数据库的记录不会造成任何影响。

4、AbstractTransactionalDataSourceSpringContextTests:继承于类[3],功能更强大,用于测试持久层组件,看其源代码,有一行"protected JdbcTemplate jdbcTemplate;",提供了一个JdbcTemplate的变量,通过该对象可以直接操作数据库。

下面的资料是两个用spring来进行集成测试(对数据库操作进行测试),业务测试(对业务层进行测试)的例子,代码是网上的朋友给的,可以参考一下:

分享到:
评论

相关推荐

    Spring中进行集成测试

    1. **Spring Test Framework**:Spring Test模块为Spring应用程序提供了一个统一的测试平台,它包括了`@RunWith(SpringRunner.class)`注解,允许JUnit测试类利用Spring的IoC容器进行初始化。通过这个注解,你可以将...

    Spring整合Junit框架进行单元测试Demo

    本篇文章将详细介绍如何在Spring环境中利用JUnit进行单元测试,以及在这个过程中可能遇到的关键知识点。 首先,我们需要了解Spring是如何提供测试支持的。Spring提供了`@ContextConfiguration`和`@Autowired`等注解...

    spring整合单元测试Junit开发包

    Spring框架是Java应用程序开发中的一个...在实际开发中,利用Spring Test和JUnit的组合,开发者可以编写出高效、全面的测试用例,确保代码的正确性和系统的稳定性。理解并熟练运用这些知识点对于提升软件质量至关重要。

    Spring 简化jar包

    - **测试支持**:Spring提供了强大的单元测试和集成测试框架,帮助开发者编写可测试的代码。 2. **Spring Boot与简化jar包** - **Spring Boot**:为了解决Spring项目初始化和配置的复杂性,Spring社区推出了...

    Spring2集成测试

    当我们谈论“Spring2集成测试”,我们指的是利用Spring框架提供的工具和最佳实践来测试整个应用程序的集成部分,确保各个组件协同工作。 集成测试是软件开发过程中的关键步骤,它位于单元测试之后,系统测试之前,...

    spring_test测试代码

    测试时,我们可以利用`@RunWith(SpringRunner.class)`和`@SpringBootTest`注解来启动Spring环境。 6. **Spring Boot** 虽然标题中未提及Spring Boot,但它是现代Spring应用的常用启动器,简化了配置和部署。Spring...

    利用spring实现打印机

    本教程将深入探讨如何利用Spring框架来实现一个打印机功能,这对于初学者掌握Spring的核心概念非常有帮助。 首先,我们需要理解什么是依赖注入。在传统的编程模式中,对象通常会自行创建或查找其依赖的对象,这可能...

    spring测试jar包

    这意味着你可以利用Spring的特性,如AOP代理、事务管理等,来编写更加真实的测试用例。同时,`@SpringBootTest`注解可以用来启动整个Spring应用上下文,这对于进行完整的端到端测试或集成测试非常有用。 对于模拟...

    Spring测试框架.rar

    1. **测试注解**:Spring测试框架利用注解简化了测试代码。例如,`@RunWith(SpringRunner.class)`注解用于告诉JUnit使用Spring的测试运行器执行测试,而`@ContextConfiguration`用于指定配置文件的位置。 2. **测试...

    spring单元测试

    我们将重点关注如何集成H2内存数据库以简化测试过程,以及如何针对Controller层和服务层进行有效的测试。 首先,让我们从项目的构建配置开始。在给定的文件中,我们看到了`gradle.properties`和`build.gradle`。`...

    Spring Boot简化你的Java开发.docx

    这种集成性使得开发者可以充分利用Spring生态中的各种资源,构建出更加完善的应用程序。 #### 如何开始使用Spring Boot 1. **安装Java和Maven/Gradle** 确保你的开发环境中安装了Java 8或更高版本,以及构建工具...

    spring集成测试工具的详细讲解

    1. Spring Test:这是Spring框架自带的测试模块,它提供了`@RunWith(SpringRunner.class)`注解,使得JUnit测试类可以利用Spring的IoC容器来运行。通过`@ContextConfiguration`注解,我们可以指定配置文件的位置,...

    spring的Junit测试-helloworld

    此外,我们还可以利用Spring的`@MockBean`和`@SpyBean`注解来进行更复杂的模拟测试,或者使用`@DataJpaTest`进行数据库相关的测试。这些工具和注解都极大地简化了在Spring环境中的测试工作。 总之,Spring的JUnit...

    SpringTest_springtest_spring_java_Framework_

    对于测试部分,可以学习如何使用Mockito进行单元测试,以及如何利用Spring Boot Test的特性进行集成测试,比如模拟HTTP请求和数据库操作。 总的来说,SpringTest项目为我们提供了一个学习和实践Spring框架的起点,...

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

    【标题】"最简单的含单元测试的spring...通过这个简单的集成demo,开发者可以深入理解Spring Boot如何与Activiti协同工作,以及如何利用单元测试来验证和保证代码质量。这对于构建健壮且可维护的流程管理应用至关重要。

    我的笔记 spring的测试

    Spring提供了`@RunWith(SpringRunner.class)`注解,它是JUnit的一个扩展,可以让我们在单元测试中利用Spring的IoC容器。通过这个注解,我们可以注入需要的依赖,而不是手动创建它们。同时,`@Autowired`和`@MockBean...

    Spring Test与开发者测试(10)

    开发者可能会学习如何利用`@RunWith(SpringRunner.class)`注解启动Spring容器,并使用`@Autowired`注入RedisTemplate或ReactiveRedisTemplate来进行数据操作。 `data.sql`文件通常包含SQL脚本,用于在测试前初始化...

    spring mybatis maven测试项目

    在这个“spring mybatis maven测试项目”中,我们将探讨这三个组件如何协同工作,以及如何利用它们进行高效的应用程序开发。 首先,Spring是一个开源的应用框架,它提供了对IoC(Inversion of Control,控制反转)...

Global site tag (gtag.js) - Google Analytics