UserControllerTest.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package com.edu.controller;
  2. import com.edu.service.user.UserService;
  3. import com.edu.base.BaseControllerTest;
  4. import com.edu.base.ResponseEntity;
  5. import com.edu.user.pojo.User;
  6. import org.junit.Before;
  7. import org.junit.Test;
  8. import org.mockito.MockitoAnnotations;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.test.annotation.Rollback;
  11. import java.util.LinkedList;
  12. import static org.mockito.Matchers.anyInt;
  13. import static org.mockito.Mockito.*;
  14. import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
  15. import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
  16. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
  17. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
  18. /**
  19. *
  20. */
  21. public class UserControllerTest extends BaseControllerTest {
  22. // @Mock
  23. @Autowired
  24. private UserService userService;
  25. @Before
  26. public void setup() {
  27. MockitoAnnotations.initMocks(this);
  28. super.setUp();
  29. }
  30. @Test
  31. public void getUser() {
  32. ResponseEntity resp = userService.getNameById(1L);
  33. super.logger.info("用户数据:", resp);
  34. }
  35. @Test
  36. public void testAdd() {
  37. Long id = 1L;
  38. String name = "test";
  39. User user = new User();
  40. user.setId(id);
  41. user.setName(name);
  42. // when(userService.getNameById(id)).thenReturn(new ResponseEntity("test"));
  43. ResponseEntity retDa = userService.getNameById(id);
  44. //assertEquals("test1", retDa.getData());
  45. //verify(userService).getNameById(id);
  46. // 模拟LinkedList 的一个对象
  47. LinkedList mockedList = mock(LinkedList.class);
  48. System.out.println(mockedList.get(999));
  49. when(mockedList.get(0)).thenReturn("first");
  50. System.out.println(mockedList.get(0));
  51. // anyInt()匹配任何int参数,这意味着参数为任意值,其返回值均是element
  52. when(mockedList.get(anyInt())).thenReturn("element");
  53. // 此时打印是element
  54. System.out.println(mockedList.get(999));
  55. System.out.println(mockedList.get(909));
  56. // 调用add一次
  57. mockedList.add("once");
  58. verify(mockedList).add("once");
  59. // verify(mockedList, times(1)).add("once");
  60. }
  61. @Test
  62. @Rollback(false)
  63. public void getUserName() {
  64. try {
  65. // MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders
  66. // .get("/user/getUserName");
  67. //
  68. // requestBuilder.param("id", "5");
  69. // requestBuilder.characterEncoding("UTF-8");
  70. // MvcResult result = mockMvc.perform(get("/user/getUserName/{id}", 5)).andReturn();
  71. // mockMvc.perform(get("/user/getUserName/{id}", 5))
  72. // .andDo(print())
  73. // .andExpect(status().isOk())
  74. // .andExpect(jsonPath("code").value("000000"));
  75. mockMvc.perform(get("/user/getUserList?userCode=ex"))
  76. .andDo(print())
  77. .andExpect(status().isOk())
  78. .andExpect(jsonPath("code").value("000000"))
  79. ;
  80. // ResponseEntity ret = new ResponseEntity("test");
  81. // when(userService.getNameById(5L)).thenReturn(ret);
  82. // String content = result.getResponse().getContentAsString();
  83. // System.out.println("test--------------" + content);
  84. // logger.debug("result :{}" + result.getResponse().getContentAsString());
  85. } catch (Exception e) {
  86. e.printStackTrace();
  87. }
  88. }
  89. }