好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

Controller代码

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

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;

 

  }

}

单元测试代码

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

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();

 

  }

}

测试结果

乱码解决

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

HelloController:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

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;

 

  }

}

 

解决乱码后的效果:

到此这篇关于SpringBoot对Controller进行单元测试的实现代码 附乱码解决方案的文章就介绍到这了,更多相关SpringBoot Controller单元测试内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

原文链接:https://keafmd.blog.csdn.net/article/details/115395273

查看更多关于SpringBoot对Controller进行单元测试的实现代码 附乱码解决方案的详细内容...

  阅读:12次