介绍
这篇文章主要讲解了弹簧引导从控制器层怎么进行单元测试,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
单元测试是程序员对代码的自测,一般公司都会严格要求单元测试,这是对自己代码的负责,也是对代码的敬畏。
一般单元测试都是测试服务层、下面我将演示从控制器层进行单元测试。
无参控制器单元测试示例:
包com.pingan.bloan.genesis.controller.base; 进口org.junit.After; 进口org.junit.Before; 进口org.junit.runner.RunWith; 进口com.pingan.bloan.genesis.logwrapper.LogWrapper; 进口org.springframework.boot.test.context.SpringBootTest; 进口org.springframework.test.context.junit4.SpringRunner; 进口com.pingan.bloan.genesis.logwrapper.LogWrapperFactory; 进口org.springframework.test.context.web.WebAppConfiguration; @RunWith (SpringRunner.class) @SpringBootTest @WebAppConfiguration 公开课BaseSpringBootTest { 保护LogWrapper记录器=LogWrapperFactory.getLogWrapper (BaseSpringBootTest.class); @Before 公共空间init () { logger.info(“开始测试…“); } @After 公共空间后(){ logger.info(“测试结束…“); } }
包com.pingan.bloan.genesis.controller; 进口org.junit.Test; 进口org.junit.Before; 进口org.springframework.test.web.servlet.MockMvc; 进口org.springframework.test.web.servlet.MvcResult; 进口org.springframework.beans.factory.annotation.Autowired; 进口org.springframework.test.web.servlet.setup.MockMvcBuilders; 进口com.pingan.bloan.genesis.controller.base.BaseSpringBootTest; 进口org.springframework.test.web.servlet.result.MockMvcResultHandlers; 进口org.springframework.test.web.servlet.result.MockMvcResultMatchers; 进口org.springframework.test.web.servlet.request.MockMvcRequestBuilders;/* * * DemoController测试 * @author * */公开课DemoControllerTest延伸BaseSpringBootTest { @ autowired 私人DemoController DemoController; 私人MockMvc MockMvc; @Before 公共空间设置(){ mockMvc=MockMvcBuilders.standaloneSetup (demoController) .build (); } @Test 公共空间演示()抛出异常{ MvcResult MvcResult=mockMvc.perform (MockMvcRequestBuilders.get(“/演示/demo")) .isOk .andExpect (MockMvcResultMatchers.status () ()) .andDo (MockMvcResultHandlers.print ()) .andReturn (); .getContentAsString logger.info (mvcResult.getResponse () ()); } }
<>强有参控制器单元测试示例一:强>
包com.pingan.bloan.genesis.controller; 进口org.junit.Test; 进口org.junit.Before; 进口org.springframework.http.MediaType; 进口org.springframework.test.web.servlet.MockMvc; 进口org.springframework.test.web.servlet.MvcResult; 进口org.springframework.beans.factory.annotation.Autowired; 进口org.springframework.test.web.servlet.setup.MockMvcBuilders; 进口com.pingan.bloan.genesis.controller.base.BaseSpringBootTest; 进口org.springframework.test.web.servlet.result.MockMvcResultHandlers; 进口org.springframework.test.web.servlet.result.MockMvcResultMatchers; 进口org.springframework.test.web.servlet.request.MockMvcRequestBuilders;/* * *加解密控制器测试 * * @author * */公开课MessageEncryptionControllerTest延伸BaseSpringBootTest { @ autowired 私人MessageEncryptionController MessageEncryptionController; 私人MockMvc MockMvc; @Before 公共空间设置(){ mockMvc=MockMvcBuilders.standaloneSetup (messageEncryptionController) .build (); }/* * *加密测试 * @throws例外 */@Test 公共空间加密()抛出异常{ MvcResult MvcResult=mockMvc.perform (MockMvcRequestBuilders.post(“/机密/encryption") .accept (MediaType.APPLICATION_JSON) .param (“originContent",“15221365094“)) .isOk .andExpect (MockMvcResultMatchers.status () ()) .andDo (MockMvcResultHandlers.print ()) .andReturn (); .getContentAsString logger.info (mvcResult.getResponse () ()); }/* * *解密测试 * @throws例外 */@Test 公共空间破译()抛出异常{ MvcResult MvcResult=mockMvc.perform (MockMvcRequestBuilders.post(“/机密/deciphering") .accept (MediaType.APPLICATION_JSON) .param (“secretContent",“4 bd6ee1a13593f97e6cea20a2ba9e6e4")) .isOk .andExpect (MockMvcResultMatchers.status () ()) .andDo (MockMvcResultHandlers.print ()) .andReturn (); .getContentAsString logger.info (mvcResult.getResponse () ()); } }弹簧引导从控制器层怎么进行单元测试