`

junit 测试 springmvc controller

 
阅读更多

用MockHttpServletRequest 测试spring的Controller,如果Controller的类名和要调用的方法名上都写有@RequestMapping:

@controller:

@RequestMapping("/user")
public class UserLoginMgr extends BaseController{
	@RequestMapping("/login")
	public String login(String mailbox){
           System.out.println("login");
		return "login";
	}
}

 

如果在@Test里这样写:

@Test
public void testRequest(){
        MockHttpServletRequest request = new MockHttpServletRequest();
        MockHttpServletResponse response = new MockHttpServletResponse();
        
        request.setRequestURI("/user/login");
        request.setMethod("GET");
        
        try{
            final ModelAndView mav = this.excuteAction(request, response);
            System.out.println(mav.getViewName());
            Object msg = mav.getModelMap().get("roles");
            System.out.println(" = " + msg);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

 测试时会莫名其妙的报NullPointerException。  
解决办法是为MockHttpServletRequest设置如下一个attribute:

request.setAttribute(HandlerMapping.INTROSPECT_TYPE_LEVEL_MAPPING, true);

 就没有nullpointerexception了。(原理不知)

分享到:
评论

相关推荐

    springmvc ssh通用的junit测试样例

    本示例主要关注的是如何在这些框架下进行单元测试,特别是使用JUnit进行通用的测试实践。单元测试是软件开发过程中的关键部分,它允许开发者独立地验证代码的各个部分,确保它们按照预期工作。 首先,`Spring MVC` ...

    springmvc+mybatis+maven+junit实现网页的增删查改

    在`src/test/java`下,为每个Service或Controller创建测试类,利用Mockito模拟依赖,对各个功能进行单元测试。例如,`UserServiceTest`可以测试UserService的所有CRUD操作。 最后,我们使用Maven进行项目的构建和...

    springmvc项目搭建并实现Junit单元测试

    本教程将详细讲解如何搭建一个Spring MVC项目,并实现Junit单元测试,确保代码的质量。 首先,我们需要了解Spring MVC的基本构成。Spring MVC的核心组件包括DispatcherServlet、Controller、ViewResolver、...

    springMVC+mybatis+maven+junit

    JUnit支持注解,使得测试代码更简洁,同时与Mockito等库配合使用,可以进行模拟对象测试,隔离被测试代码的依赖。 这四个技术结合在一起,可以构建出一套完整的开发流程:使用Maven管理项目依赖和构建流程,Spring ...

    springMVC junit mybatis整合

    在IT行业中,SpringMVC、JUnit和MyBatis是三个非常重要的开源框架,它们分别用于构建Web应用程序、单元测试和数据库操作。这三个组件的整合能够为开发者提供一个高效且易于维护的开发环境。下面将详细讲解这三个框架...

    测试springmvc3

    在 "测试springmvc3" 的场景中,我们将关注 Spring MVC 3 版本的关键特性和测试策略。 Spring MVC 3 在前一版本的基础上引入了若干改进和新特性,以提升开发效率和性能。以下是一些关键知识点: 1. **注解驱动**:...

    测试springmvc2

    总结来说,"测试springmvc2"涵盖了Spring MVC的组件测试、流程测试、性能测试以及可能的集成测试,涉及到Controller、Model、View、DispatcherServlet、Interceptor等多个关键部分。在实际操作中,我们需要编写测试...

    springMVC+mybatis整合及测试(亲测可运行)

    7. **测试**:编写JUnit测试类,模拟HTTP请求,测试Controller的处理逻辑是否正确,同时验证Mybatis的SQL执行结果是否符合预期。 在“SpringMVCMybatis”这个压缩包中,应包含上述所有配置文件、Mapper接口、XML...

    maven+springMVC+mybatis+junit详细搭建过程整合实现demo,带有jar包和测试类。增删改查的操作供大家学习。

    本教程将详细讲解如何使用四个关键的技术栈——Maven、SpringMVC、MyBatis和JUnit来搭建一个功能完善的示例项目,并包含了数据库操作和单元测试。下面,我们将深入探讨每个组件以及它们在项目中的作用。 首先,**...

    详解Spring MVC如何测试Controller(使用springmvc mock测试)

    在Spring MVC中,测试Controller是确保应用程序正确运行的关键部分。本文将详细介绍如何使用Spring MVC的Mock测试机制来直接测试Controller层代码,以便更好地隔离和验证控制器的行为。 **什么是Mock测试?** Mock...

    spring+springMVC+mybatis+maven+junit+mysql

    【标题】"spring+springMVC+mybatis+maven+junit+mysql" 是一个常见的Java Web项目技术栈,它涵盖了从后端开发到数据库管理,再到自动化构建和测试的完整流程。下面将详细阐述这些技术及其在项目中的作用。 ...

    spring+springmvc+mybatis+maven+junit整合

    【标题】"spring+springmvc+mybatis+maven+junit整合"是一个常见的Java Web开发框架集成,这个项目旨在为初学者提供一个基础的、可运行的示例,以理解这些技术如何协同工作。 【Spring框架】是核心的依赖注入(DI)...

    springmvc mybatis测试工程

    1. 单元测试:针对SpringMVC的Controller和MyBatis的Mapper接口进行单元测试,确保每个方法的功能正确无误。JUnit和Mockito等工具可以帮助我们进行这些测试。 2. 集成测试:检查整个系统组件间的交互,包括...

    maven+springMVC+mybatis+velocity+mysql+junit项目框架搭建

    SpringMVC是Spring框架的一部分,专门用于构建Web应用的Model-View-Controller架构。它提供了请求分发、模型绑定、数据验证等功能,使得开发者可以更专注于业务逻辑,而不是底层的HTTP处理。SpringMVC与Spring框架...

    SpringMVC+Hibernate+Junit4基本框架近乎0配置Jar包

    SpringMVC、Hibernate和JUnit4是Java开发中的三大重要工具,它们分别在不同的层面上助力于应用程序的构建和测试。本压缩包提供了这三者组合的基本框架所需的Jar包,几乎无需额外配置,大大简化了开发过程。 首先,...

    maven+springMVC+mybatis+junit整合过程

    整个整合过程中,Maven负责项目的构建和依赖管理,SpringMVC提供MVC架构,MyBatis用于ORM(对象关系映射),而Junit则帮助我们进行单元测试。这些技术的结合使得开发、测试和部署Web应用程序变得更加高效和便捷。

    eclipse_springmvc_maven_mybstis3_junit4

    【标题】"eclipse_springmvc_maven_mybatis3_junit4" 提示我们这是一个基于Eclipse开发的项目,它整合了Spring MVC、Maven、MyBatis和JUnit4这四大核心组件,用于构建Web应用程序的示例。下面将详细阐述这些技术及其...

    SpringMVC+hibernate整合+测试类

    对于SpringMVC的Controller,我们可以利用MockMvc进行模拟请求测试,检查Controller的响应是否符合预期。在Hibernate的测试中,通常我们会使用H2内存数据库,这样可以快速创建和销毁数据库,提高测试效率。 总的来...

    Spring+SpringMVC+Mybatis 基础环境搭建工程(带测试用例)

    8. **测试用例**:工程内可能包含JUnit测试类,对Controller、Service或DAO层进行单元测试,以确保代码的功能正确无误。 通过这个基础环境搭建工程,开发者可以快速理解SSM框架的集成方式,学习如何配置和使用这些...

    springmvc+maven+junit+jqueryUI

    标题中的"springmvc+maven+junit+jqueryUI"是一个典型的Web开发技术组合,涉及四个主要组件:Spring MVC、Maven、JUnit和jQuery UI。现在,让我们深入探讨这些技术及其在实际开发中的应用。 1. Spring MVC(Spring ...

Global site tag (gtag.js) - Google Analytics