发信息做推广,我选黔优网

发布产品信息
微信公众号

Java代码实现SpringBoot对Controller的单元测试 附乱码解决方案

我要举报 来源:黔优网作者:小优 责编:小优 时间:2024-12-18 14:01:50 浏览量:20
导读:本文深度解析Java代码实现SpringBoot对Controller的单元测试 附乱码解决方案的核心底层逻辑要点与实践方法,涵盖关键观点信息和常见问题解决思路分析,为您提供全面的学习指导,一起来看看吧。

MVC 模式是设计一个程序的架构模式之一,是当前项目开发中最流行的架构模式之一。本文将介绍 SpringBoot 对 MVC 中的Controller 进行单元测试,并给出Java实现代码,以及关于乱码解决的方案。

Controller代码

package com.keafmd.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;


@RestController
public class HelloController {

 @RequestMapping("/hello")
 Map hello(){
Map map = new HashMap();
map.put("keafmd","牛哄哄的柯南");
map.put("success",true);
return map;

 }
}

单元测试代码

package com.keafmd;

import com.keafmd.SpringBoot02Application;
import com.keafmd.controller.HelloController;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ContextConfiguration;
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;


@SpringBootTest(classes = SpringBoot02Application.class)
@AutoConfigureMockMvc //相当于是使用 context 上下文构造一个 mvc对象
public class MvcTest {

 //模拟访问 Controller
 @Autowired
 MockMvc mvc;

 @Test
 public void test() throws Exception {
MvcResult result = mvc.perform(
MockMvcRequestBuilders.get("/hello").
accept(MediaType.APPLICATION_JSON)).
andExpect(MockMvcResultMatchers.status().isOk()).
andDo(MockMvcResultHandlers.print()).andReturn();

 }
}

测试结果

乱码解决

把注解替换为:↓
@RequestMapping(value = "/hello",produces = {"application/json;charset=UTF-8"})

HelloController:

package com.keafmd.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;


@RestController
public class HelloController {

 @RequestMapping(value = "/hello",produces = {"application/json;charset=UTF-8"})
 //@RequestMapping("/hello")
 Map hello(){
Map map = new HashMap();
map.put("keafmd","牛哄哄的柯南");
map.put("success",true);
return map;

 }
}

解决乱码后的效果:

以上就是使用 Java 代码实现 SpringBoot 对 Controller 的单元测试以及附乱码解决方案的全部内容,更多相关SpringBoot以及MVC的其他内容请搜索W3Cschool以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

 
  • 下一篇: 如何找回丢失的Google账号?快速恢复访问您的Google账户
  • 上一篇: 如何利用Google平台实现收益
 
没用 0举报 收藏 0评论 0
免责声明:
以上展示内容来源于用户自主上传及公开网络信息收集整理,版权归属原作者所有,平台不承担内容准确性责任,版权争议与本站无关。本文涉及见解与观点不代表黔优网官方立场,仅供技术交流参考,黔优网为纯技术资讯交流平台,不参与任何商业服务及交易行为,所有企业信息均经基础资质审核后展示。本文标题:Java代码实现SpringBoot对Controller的单元测试 附乱码解决方案,本文链接:https://www.qianu.com/n/934542.html,欢迎转载,转载时请说明出处。若您发现本文涉及版权争议或违法违规内容,请您立即通过点此【投诉举报】并提供有效线索,也可以通过邮件(邮箱号:kefu@qianu.com)联系我们及时修正或删除。
 
 

 

 
推荐图文资讯