我是靠谱客的博主 务实诺言,最近开发中收集的这篇文章主要介绍SpringMVC 单元测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

测试类

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(locations = { "classpath:applicationContext.xml",
"file:src/main/webapp/WEB-INF/dispatcherServlet-servlet.xml" })
public class MvcTest {
@Autowired
WebApplicationContext context;
MockMvc mockMvc;
@Before
public void initMokcMvc() {
mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
}
@Test
public void testPage() throws Exception {
MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/messages").param("pn", "5"))
.andReturn();
MockHttpServletRequest request = result.getRequest();
PageInfo pi = (PageInfo) request.getAttribute("pageInfo");
System.out.println(pi);
}
}

配置测试环境

  1. pom.xml中导入 Spring test 模块

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>4.3.7.RELEASE</version>
    </dependency>
    
  2. 注意 : Spring4 测试的时候,需要 servlet3.0的支持

    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
    </dependency>
    
  3. 给测试类配置注解
    各个注解

    1. @RunWith(SpringJUnit4ClassRunner.class) 测试运行于Spring测试环境;
    2. @ContextConfiguration 加载Spring的配置文件
    3. @WebAppConfiguration 表明应该为测试加载WebApplicationContext,必须与@ContextConfiguration一起使用
    4. @Before 编写测试方法执行前的逻辑,可以初始化MockMVC实例
    5. @Test 标明实际测试方法,建议每个Controller对应一个测试类。

在测试类中,编写测试逻辑

调用 mockMvc.perform 执行模拟请求

  1. 代码来源

    MockHttpServletRequestBuilder createMessage =
    get("/messages").param("pn", "5");
    mockMvc.perform(createMessage)
    .andExpect(status().is3xxRedirection())
    .andExpect(redirectedUrl("/messages/123"));
    
    1. get请求和Controller中的方法请求类型对应
    2. param为传递的参数,允许多个
    3. andExpect为结果断言,
    4. isOk代表的是返回正常也就是http的200,
    5. view.name为返回的视图名称
    6. andDo为执行后操作,本例的print为打印出结果
    7. return返回结果,可以对结果进一步操作

最后

以上就是务实诺言为你收集整理的SpringMVC 单元测试的全部内容,希望文章能够帮你解决SpringMVC 单元测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部