博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring mvc 单元测试
阅读量:6004 次
发布时间:2019-06-20

本文共 1850 字,大约阅读时间需要 6 分钟。

hot3.png

package com.sishuok.mvc.controller;

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.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.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 com.sishuok.service.UserService;

@RunWith(SpringJUnit4ClassRunner.class)

@WebAppConfiguration(value = "src/main/webapp")

@ContextConfiguration(value = {"classpath:spring-config.xml", "classpath:spring-mvc.xml"})

public class UserControllerWebAppContextSetupTest {

@Autowired

UserService userService;

  @Autowired

  private WebApplicationContext wac;

  private MockMvc mockMvc;

  @Before

  public void setUp() {

      mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();

  }

@Test

  public void testView() throws Exception {

      MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/user/1"))

              .andExpect(MockMvcResultMatchers.view().name("user/view"))

              .andExpect(MockMvcResultMatchers.model().attributeExists("user"))

              .andDo(MockMvcResultHandlers.print())

              .andReturn();

      Assert.assertNotNull(result.getModelAndView().getModel().get("user"));

  }

}

最主要的有三个对象 

WebApplicationContext

MockMvc

MockActionResponse

MockActionResquest

这个是简单的,回头再补充

转载于:https://my.oschina.net/internetafei/blog/355628

你可能感兴趣的文章
程序员不想让你知道的 5 件事,你知道吗?
查看>>
这些废弃的 HTML 标签不要用
查看>>
Apache Kylin权威指南1.4 Apache Kylin的技术架构
查看>>
《指针的编程艺术(第二版)》一1.5 练习
查看>>
Angular从零到一3.1 建立routing的步骤
查看>>
《jQuery Cookbook中文版》——1.9 根据当前上下文遍历DOM获得新的DOM元素集
查看>>
《七周七并发模型》第五章Actor总结
查看>>
《jQuery Mobile快速入门》—— 2.6 带有媒体查询的响应式布局
查看>>
《C++面向对象高效编程(第2版)》——2.2 对象接口的重要性
查看>>
《Hadoop MapReduce性能优化》一1.1 MapReduce模型
查看>>
《Access 2007开发指南(修订版)》一一2.15 小结
查看>>
ROS机器人程序设计(原书第2版)3.2 日志信息
查看>>
五个 ping 工具的使用实例
查看>>
在Linux系统下玩《炉石传说:魔兽英雄传》
查看>>
阿里数据库内核月报:2016年01月
查看>>
Samba 系列(七):在 Samba AD DC 服务器上创建共享目录并映射到 Windows/Linux 客户...
查看>>
The Joy of Clojure – Clojure philosophy(1)
查看>>
Apache Storm 官方文档 —— 多语言接口协议
查看>>
在 Linux/UNIX 终端下使用 nload 实时监控网络流量和带宽使用
查看>>
小白学数据:一文看懂NoSQL数据库
查看>>