目录

SpringBoot对Controller进行单元测试含乱码解决详细代码

SpringBoot对Controller进行单元测试【含乱码解决】(详细代码)

SpringBoot对Controller进行单元测试

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;

/**
 * Keafmd
 *
 * @ClassName: HelloController
 * @Description:
 * @author: 牛哄哄的柯南
 * @Date: 2021-04-02 9:42
 * @Blog: https://keafmd.blog.csdn.net/
 */
@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;

/**
 * Keafmd
 *
 * @ClassName: MvcTest
 * @Description:
 * @author: 牛哄哄的柯南
 * @Date: 2021-04-02 10:59
 * @Blog: https://keafmd.blog.csdn.net/
 */
@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();

    }


}

测试结果

https://i-blog.csdnimg.cn/blog_migrate/b3d9572aa10869d7a3e7200932be3e35.png

乱码解决

**把注解替换为:↓

@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;

/**
 * Keafmd
 *
 * @ClassName: HelloController
 * @Description:
 * @author: 牛哄哄的柯南
 * @Date: 2021-04-02 9:42
 * @Blog: https://keafmd.blog.csdn.net/
 */
@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;

    }
}

解决乱码后的效果:

https://i-blog.csdnimg.cn/blog_migrate/19fbc82f64384b93737c15c282e4a996.png

以上就是SpringBoot对Controller进行单元测试【含乱码解决】(详细代码)的全部内容。

**看完如果对你有帮助,感谢点赞支持!

如果你是电脑端的话,看到右下角的 “ 一键三连 ” 了吗,没错点它[哈哈]**

https://i-blog.csdnimg.cn/blog_migrate/835263e7422437252f349025b7add3d6.gif#pic_center

加油!

共同努力!

Keafmd