package newrenhewww; import org.junit.Assert; import org.junit.Before; 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.AbstractTransactionalJUnit4SpringContextTests; 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.MvcResult; import org.springframework.test.web.servlet.ResultActions; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultHandlers; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; import cn.renhe.model.po.Member; /** * Title: MyMvcTest.java<br> * Description: <br> * Copyright (c) 人和网版权所有 2015 <br> * Create DateTime: 2015年8月3日 下午3:29:48 <br> * @author zhuw */ //告诉framework怎么运行这个类 @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration(value = "src/main/webapp") //bean的配置文件路径,这个是Test类的classpath路径,如果是Spring推荐的目录结构,应该在:项目目录/src/test/resources/里 @ContextConfiguration(locations = {"classpath:spring.xml","classpath:spring-mvc.xml","classpath:spring-mybatis.xml"}) public class MyMvcTest extends AbstractTransactionalJUnit4SpringContextTests{ @Autowired private WebApplicationContext webApplicationContext; private MockMvc mockMvc; @Before public void setUp(){ mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); } /** * 有返回view的请求 * @throws Exception */ @Test public void testView() throws Exception { MockHttpServletRequestBuilder builder = MockMvcRequestBuilders.get("/contact/invitelist"); //设置resquest属性 builder.requestAttr("member", getMember()); //设置session属性 builder.sessionAttr("member", getMember()); ResultActions action = mockMvc.perform(builder); //判断返回view action.andExpect(MockMvcResultMatchers.view().name("/contact/invitelist")); //判断返回的model里的属性 是否存在 action.andExpect(MockMvcResultMatchers.model().attributeExists("invitelist")); //打印结果 action.andDo(MockMvcResultHandlers.print()); //返回的结果 MvcResult result = action.andReturn(); Assert.assertNotNull(result.getModelAndView().getModel().get("invitelist")); } private Member getMember(){ Member m = new Member(); m.setId(38); return m; } }
相关推荐
在Spring MVC框架中,单元测试是确保代码质量的重要步骤,特别是在控制器层(Controller)。这篇博客主要探讨了如何使用JUnit进行Spring MVC Controller的单元测试。在实际开发中,单元测试可以帮助我们尽早发现潜在...
总结一下,本Spring MVC测试实例主要涵盖了以下知识点: 1. DispatcherServlet的作用和配置。 2. Controller的定义与@RequestMapping注解的使用。 3. 在MyEclipse中创建和运行Spring MVC项目。 4. web.xml和spring-...
十三、如何给Spring3 MVC中的Action做JUnit单元测试:说明了如何对Spring MVC中的控制器进行单元测试,包括配置测试环境和编写测试代码。 十四、Spring MVC转发与重定向:详细讲解了在Spring MVC中如何使用转发和...
3. **注解驱动的控制器**:Spring MVC 4.0广泛使用了Java注解,如@Controller、@RequestMapping等,使控制器类的定义更加简洁,减少了XML配置。 4. **路径变量**:在@RequestMapping注解中,可以使用路径变量(path...
在Spring MVC中,开发者可以通过@Autowired注解自动装配依赖,使得代码更易于测试和维护。 此外,Spring MVC还提供了数据绑定和验证功能。表单提交的数据可以直接绑定到控制器方法的参数上,通过@ModelAttribute...
在进行单元测试时,可以利用Spring MVC的MockMvc类来模拟HTTP请求,测试控制器方法的行为,而无需实际启动服务器。 3. Spring Boot Spring Boot旨在简化Spring应用的初始搭建以及开发过程。它通过预设合理的默认...
- `Spring MVC + Mybatis+Spring实现的个人博客系统`: 这个可能是博客系统的源代码,包括控制器、服务、DAO、实体类以及配置文件等。 **6. 开发流程** 开发此类系统时,一般会经历以下几个步骤:设计数据库模型,...
总结,Spring Boot的单元测试涵盖多个层次,从简单的类方法测试到复杂的集成测试,都有相应的工具和策略。理解和熟练运用这些知识点,能有效提升开发效率,保证代码质量。在实际项目中,应根据需求选择合适的测试...
3. `org.springframework.web.servlet-3.0.2.RELEASE.jar`:这是 Spring MVC 的核心模块,提供了控制器(Controller)、模型视图(ModelAndView)以及调度器Servlet(DispatcherServlet)等关键组件。...
Spring MVC的设计目标是提供一个清晰的组件化架构,使得开发者可以独立地开发和测试控制器、服务层、数据访问层以及视图层。这个框架通过Model-View-Controller(MVC)设计模式,将业务逻辑、用户界面和数据处理有效...
10. **单元测试和集成测试**:学习如何使用JUnit和Mockito等工具对Controller和Service层进行单元测试,以及使用Spring Test对整个应用进行集成测试。 通过这个简单的例子,初学者可以全面地了解Spring MVC的工作...
`springMvcCommentTest` 这个文件可能是测试类,用于测试 Spring MVC 控制器的行为。在 Spring 中,我们可以使用 `MockMvc` 工具进行单元测试,模拟 HTTP 请求并验证响应结果。 6. **实战案例** - 创建一个简单的...
- **使用@Controller 注解定义一个控制器**:通过这个注解可以将类标记为一个控制器,Spring 会自动检测并将其纳入管理。 - **使用@RequestMapping 注解映射请求路径**:此注解用于指定控制器处理的具体 URL 路径...
非注解测试在Spring MVC中是指不依赖于Java注解如`@Test`,`@Controller`等进行的测试,而是通过XML配置文件来定义组件和它们之间的关系。这种方式虽然比注解方式繁琐,但有助于理解Spring MVC的工作原理。 首先,...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(Model-View-Controller)架构的应用程序提供了强有力的支持。在本示例中,我们将深入探讨Spring MVC的基本概念、配置以及如何创建一个...
Spring MVC提供`MockMvc`类用于对控制器进行单元测试,模拟HTTP请求并验证响应。 这个"Spring MVC 3_demo"项目是学习和理解Spring MVC 3中注解驱动开发的绝佳起点。通过实践这些概念,你可以更深入地了解Spring ...
9. **测试**:为了保证代码质量,项目可能包含单元测试和集成测试,使用JUnit、Mockito等工具对用户模块的功能进行验证。 通过这个“spring mvc demo加用户模块的”项目,开发者可以学习如何组织Spring MVC的项目...
7. **测试**:`test`目录可能包含了项目的单元测试和集成测试,确保各个组件的正确性。例如,可以使用JUnit测试用户服务类的注册和登录功能。 8. **IDE相关文件**:`.classpath`、`.mymetadata`、`.project`、`....