web应用开发人员在开发过程中需要测试各种请求,通常需要使用web服务器部署后进行调试,本文介绍基于SpringMVC与Spring Test框架编写单元测试对springmvc进行测试。
1、创建maven项目,pom.xml如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qerooy</groupId>
<artifactId>mvctest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<spring.version>4.0.2.RELEASE</spring.version>
<log4j.version>1.2.17</log4j.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>3.2.3.RELEASE</version>
<scope>test</scope>
</dependency>
</dependencies>
<build />
</project>
2、编写spring配置文件applicationContext.xml如下(此处仅配置本例子所需),log4j.properties
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<context:component-scan base-package="*" />
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
</beans>
log4j.rootLogger=INFO,Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
3、编写一个controller及测试用的model类,如下
package com.qerooy.controller;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.qerooy.model.User;
@Controller
public class UserController {
Logger log = Logger.getLogger(getClass());
@RequestMapping
public void save(User user){
log.info(user.getUsername());
log.info(user.getRemark());
}
}
package com.qerooy.model;
public class User {
private String username;
private String remark;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
4、编写测试类,执行测试用例即可测试springmvc
package com.qerooy;
import static org.junit.Assert.*;
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.web.context.WebApplicationContext;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath*:applicationContext*.xml"})
@WebAppConfiguration
public class MVCTest {
@Autowired
private WebApplicationContext wac;
@Test
public void test() {
MockMvc mockMvc = webAppContextSetup(this.wac).build();
try {
mockMvc.perform(MockMvcRequestBuilders.post("/user/save").characterEncoding("UTF-8")
.param("username", "qerooy")
.param("remark", "测试")
);
} catch (Exception e) {
e.printStackTrace();
}
assertTrue(true);
}
}
分享到:
相关推荐
10. **Unit Testing and Integration Testing**:在"spring-mvc-test-sample-master"项目中,很可能包含了对这些控制器和业务逻辑的单元测试以及集成测试,使用JUnit、Mockito等工具进行。 11. **Spring MVC Test ...
Spring+springMVC的jar包以及技术aop需要用到的绝大部分jar包,包含aopalliance-1.0.jar spring-aop-4.1.8.RELEASE.jar spring-aspects-4.1.8.RELEASE.jar spring-beans-4.1.8.RELEASE.jar spring-context-4.1.8...
6. **spring-test-4.3.4.RELEASE.jar**:提供了对Spring应用进行单元测试和集成测试的支持,包括TestContext框架、Mock对象和JUnit集成。 7. **jstl-1.2-sources.jar**:JavaServer Pages Standard Tag Library,是...
spring和springmvc相关的jar,里面有spring-webmvc-5.0.7.RELEASE.jar,spring-aop-5.0.7.RELEASE.jar,spring-beans-5.0.7.RELEASE.jar,spring-context-5.0.7.RELEASE.jar,spring-context-support-5.0.7.RELEASE....
通过这个项目,开发者可以学习如何设置SSM框架,如何配置Spring的IoC容器,如何编写SpringMVC的Controller,以及如何使用MyBatis进行数据库操作。同时,项目可能还涉及到了事务管理、异常处理、日志记录等其他重要的...
spring springmvc mybatis的整合jar包,以及mysql,Junit,fastJson等的jar包,导入这些jar包 搭一个SSM的环境,可以使用SSM框架做一个简单的能够实现增删改查的小项目,具体的jar包及其版本如下 : aopalliance-1.0....
springmvc+spring+mybatis整合所需jar aopalliance-1.0.jar aspectjweaver-1.7.1.jar commons-fileupload-1.2.2.jar commons-logging-1.1.1.jar druid-0.2.9.jar jstl-1.2.jar junit-4.11.jar mybatis-3.1.1.jar ...
此外,`spring-test-4.2.4.RELEASE.jar`提供了Spring应用的测试支持,包括测试环境的配置、模拟对象的创建等,让单元测试和集成测试变得更加方便。 最后,`aspectjweaver.jar`是AspectJ的运行时库,它用于实现AOP...
SSM(Spring、SpringMVC、Mybatis)是Java Web开发中常见的三大框架集成,用于构建高效、灵活的Web应用程序。下面将详细讲解这三大框架的整合过程以及它们各自的核心功能。 1. Spring 框架: Spring 是一个全面的...
在本文中,我们将深入探讨如何搭建一个基于Spring4、SpringMVC和Mybatis的项目,以及如何进行测试。这个项目组合通常被称为“SSM”框架,是Java Web开发中的主流选择,提供了强大的依赖注入、MVC架构和持久层管理...
3. **Spring Test**:Spring 提供了自己的测试模块,包含`@RunWith(SpringRunner.class)`注解,它可以将JUnit测试与Spring环境结合,自动加载ApplicationContext,使得我们可以使用依赖注入来测试bean。 4. **@...
jdk7SpringMVC 13个核心jar包大集合 包括 1.spring-aop-3.2.0.RELEASE.jar ...10.spring-test-3.2.0.RELEASE.jar 11.spring-tx-3.2.0.RELEASE.jar 12.spring-web-3.2.0.RELEASE.jar 13.spring-webmvc-3.2.0.RELEASE.jar
通过以上步骤,我们可以构建出一个完整的、使用Maven管理、Spring-SpringMVC提供业务逻辑、MyBatis处理数据访问的Web应用程序。这样的架构具有良好的模块化和可扩展性,是现代企业级Java Web开发的常见选择。
【Xcafe-Netty4SpringMVC-project】是一个创新性的项目,它将SpringMVC框架集成到了基于Netty的高性能网络应用服务器中。这个项目的核心目标是利用Netty的非阻塞I/O和事件驱动架构来提升Web应用程序的性能和可扩展性...
├── spring-test-4.3.0.RELEASE.jar ├── spring-tx-4.3.0.RELEASE.jar ├── spring-web-4.3.0.RELEASE.jar ├── spring-webmvc-4.3.0.RELEASE.jar ├── spring-webmvc-portlet-4.3.0.RELEASE.jar ...
在"Cucumber-JVM-Spring-MVC-Test-HTMLUnit-Demo"项目中,开发者首先会运行`mvn spring-boot:run`命令启动应用程序,然后使用`mvn clean compile test`来执行测试。这个过程展示了如何将这三个组件集成在一起: 1. ...
6. **spring-test-4.3.13.RELEASE.jar**:这个模块提供了编写和执行Spring应用测试的工具,支持JUnit和TestNG,方便进行单元测试和集成测试。 7. **spring-orm-4.3.13.RELEASE.jar**:提供了对ORM(Object-...
- spring-test 和 mockito 等库用于编写单元测试和集成测试,确保 Spring MVC 应用的功能正确性。 以上这些 jar 包组合在一起,构成了一个完整的 Spring MVC 开发环境,涵盖了从请求处理到视图渲染,再到数据持久...
6. **spring-test-3.2.2.RELEASE.jar**:提供了测试支持,帮助开发者进行单元测试和集成测试,可以与其他Spring组件结合使用,提高测试效率。 7. **spring-jdbc-3.2.2.RELEASE.jar**:提供了对JDBC(Java Database ...
idea构建springmvc项目默认下载的jars aopalliance-1.0.jar commons-logging-1.2.jar spring-aop-4.3.18.RELEASE.jar spring-aspects-4.3.18.RELEASE....spring-test-4.3.18.RELEASE.jar spring-tx-4.3.18.RELEASE.jar