网上基本都是参考官方的使用方式,使用了进口静态,个人感觉这种方式特别不好,代码提示性不友好。所以在此进行说明,也方便自己以后使用。
1。引入spring测试相关jar包,springboot只需引入spring-boot-starter-test即可
& lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-test & lt; scope> test & lt;/dependency>
2。写好控制器,开始写测试类
进口org.front.server.Application; 进口org.front.server.web.control.TestController; 进口org.hamcrest.Matchers; 进口org.junit.Before; 进口org.junit.Test; 进口org.junit.runner.RunWith; 进口org.springframework.beans.factory.annotation.Autowired; 进口org.springframework.boot.test.SpringApplicationConfiguration; 进口org.springframework.http.MediaType; 进口org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 进口org.springframework.test.context.web.WebAppConfiguration; 进口org.springframework.test.web.servlet.MockMvc; 进口org.springframework.test.web.servlet.request.MockMvcRequestBuilders; 进口org.springframework.test.web.servlet.result.MockMvcResultHandlers; 进口org.springframework.test.web.servlet.result.MockMvcResultMatchers; 进口org.springframework.test.web.servlet.setup.MockMvcBuilders; 进口org.springframework.web.context.WebApplicationContext;//网上很多会在这里使用进口静态,主要导入的是MockMvcRequestBuilders, MockMvcResultMatchers,匹配器这三个类中的方法。/* * * @author zz * @date 2017年7月4日 * */@RunWith (SpringJUnit4ClassRunner.class)//@SpringApplicationConfiguration(类=MockServletContext.class)//这个测试单个控制器,不建议使用 @SpringApplicationConfiguration(类=Application.class)//这里的应用是springboot的启动类名。 @WebAppConfiguration 公开课ApplicationTests { @ autowired 私人WebApplicationContext上下文; 私人MockMvc mvc; @Before 公共空间设置()抛出异常{//mvc=MockMvcBuilders。standaloneSetup(新TestController ()) .build (); mvc=MockMvcBuilders.webAppContextSetup(上下文).build();//建议使用这种 } @Test 公共空间test1()抛出异常{ mvc.perform (MockMvcRequestBuilders.get(“/数据/getMarkers”) .contentType (MediaType.APPLICATION_JSON_UTF8) .param(“纬度”、“123.123”)。参数(“朗”、“456.456”) .accept (MediaType.APPLICATION_JSON)) .isOk .andExpect (MockMvcResultMatchers.status () ()) .andDo (MockMvcResultHandlers.print ()) .andExpect (MockMvcResultMatchers.content () .string (Matchers.containsString(“成功”))); } }
相信这样,基本开发过javaweb的就都能看懂了。通过方法的字面意思应该都能看懂方法含义,如果实在不懂请看源码或者官方API。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。