码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot Junit Demo

时间:2018-09-17 14:35:57      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:expect   result   null   color   moc   fas   apr   mvc   camera   

  1 package com.yunen.camera.test;
  2 
  3 import org.junit.Before;
  4 import org.junit.Test;
  5 import org.junit.runner.RunWith;
  6 import org.springframework.beans.factory.annotation.Autowired;
  7 import org.springframework.boot.test.context.SpringBootTest;
  8 import org.springframework.http.MediaType;
  9 import org.springframework.mock.web.MockHttpSession;
 10 import org.springframework.test.annotation.Rollback;
 11 import org.springframework.test.context.junit4.SpringRunner;
 12 import org.springframework.test.web.servlet.MockMvc;
 13 import org.springframework.test.web.servlet.MvcResult;
 14 import org.springframework.test.web.servlet.ResultActions;
 15 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
 16 import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
 17 import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
 18 import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
 19 import org.springframework.test.web.servlet.setup.MockMvcBuilders;
 20 import org.springframework.web.context.WebApplicationContext;
 21 
 22 import com.YunenCameraManagerApplication;
 23 import com.alibaba.fastjson.JSONObject;
 24 import com.alibaba.fastjson.serializer.SerializerFeature;
 25 
 26 import lombok.extern.slf4j.Slf4j;
 27 
 28 /**
 29  * 相机预置位测试类
 30  * 
 31  * @version V1.0
 32  * @author songxiaotong
 33  * @date 2018年9月17日 下午2:08:14
 34  * @Description
 35  */
 36 @Slf4j
 37 @Rollback(false)
 38 // 让 JUnit 运行 Spring 的测试环境, 获得 Spring 环境的上下文的支持
 39 @RunWith(SpringRunner.class)
 40 // 获取启动类,加载配置,确定装载 Spring 程序的装载方法,它回去寻找 主配置启动类(被 @SpringBootApplication 注解的)
 41 @SpringBootTest(classes = YunenCameraManagerApplication.class)
 42 public class CameraPreSetControllerTest {
 43     /**
 44      * WebApplicationContext
 45      */
 46     @Autowired
 47     private WebApplicationContext wac;
 48 
 49     private MockMvc mockMvc;
 50 
 51     /**
 52      * 初始化mvc请求对象
 53      * 
 54      * @throws Exception
 55      */
 56     @Before
 57     public void setUp() throws Exception {
 58         this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
 59     }
 60 
 61     @Test
 62     public void create() {
 63         try {
 64             MockHttpSession session = new MockHttpSession();
 65 
 66             JSONObject param = new JSONObject();
 67             param.put("cameraId", "110");
 68             param.put("name", "预置位名称");
 69             param.put("zoom", 1.1);
 70             param.put("pan", 2.2);
 71             param.put("tilt", 3.3);
 72 
 73             MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders
 74                     .post("/yunen/camera_pre_set/create");
 75             requestBuilder.contentType(MediaType.APPLICATION_JSON);
 76 
 77             requestBuilder.content(JSONObject.toJSONString(param,
 78                     SerializerFeature.WriteMapNullValue));
 79             // requestBuilder.content(param.toString());
 80 
 81             requestBuilder.session(session);
 82 
 83             // 执行一个请求;
 84             ResultActions result = mockMvc.perform(requestBuilder);
 85 
 86             // 添加执行完成后的断言
 87             result.andExpect(MockMvcResultMatchers.status().isOk());
 88 
 89             // 添加一个结果处理器,表示要对结果做点什么事情,比如此处使用MockMvcResultHandlers.print()输出整个响应结果信息。
 90             result.andDo(MockMvcResultHandlers.print());
 91 
 92             // 表示执行完成后返回相应的结果。
 93             MvcResult mvcResult = result.andReturn();
 94 
 95             log.info(mvcResult.getResponse().getContentAsString());
 96         } catch (Exception e) {
 97             log.error(e.getMessage());
 98         }
 99     }
100 }

 

SpringBoot Junit Demo

标签:expect   result   null   color   moc   fas   apr   mvc   camera   

原文地址:https://www.cnblogs.com/songxiaotong/p/9661860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!