东莞市盛裕绒艺玩具有限公司

东莞市盛裕绒艺玩具有限公司

环亚电游最新网站

18899114434
联系方式
全国服务热线: 18899114434

咨询热线:18562494059
联系人:唐承果
地址:浦江经济开发区恒盛路2号

Spring Boot单元测试

来源:环亚电游最新网站   发布时间:2019-12-04   点击量:296

一个测试类包含下面两个注解:

@RunWith(SpringRunner.class)@SpringBootTest测试类中可直接注入接口:

@ResourceMyServerMgr myServerMgr;在方法上加@Test表示它是个测试方法:

@Testpublic void query() { String result = myServerMgr.query(); log.info("test query result is {}.", result); //使用断言判断结果 assertEquals(result, "query result");}可以通过@Before和@After注解修饰的方法,来表示测试方法执行前和执行后的行为。

@Beforepublic void setUp() throws Exception { log.info("Before setUp.");} @Afterpublic void tearDown() throws Exception { log.info("After tearDown.");}至此一个简单的单元测试就完成了。 Spring Mock MVC:模拟Servlet容器里的测试控制器。下面部分介绍如何测试Spring Controller API。Controller测试类需要额外增加@WebAppConfiguration注解:

@RunWith(SpringRunner.class)@SpringBootTest@WebAppConfiguration需要在测试类中注入WebApplicationContext:

@Resourceprivate WebApplicationContext webApplicationContext;需要使用MockMvc模拟发送rest请求,所以需要定义MockMvc变量并在测试方法执行前初始化它:

private MockMvc mockMvc; @Before public void setUp() throws Exception { log.info("set mockmvc"); mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();// mockMvc = MockMvcBuilders.standaloneSetup(webApplicationContext).build(); }

需要说明的是,Mock MVC有两种构建方式:

standaloneSetup:手工创建并配置的控制器。

webAppContextSetup:根据Spring应用程序上下文来构建Mock MVC。

我们采用webAppContextSetup方式。 使用@Test注解声明测试方法:

@Testpublic void query() throws Exception { mockMvc.perform(get("/myapp")) .andExpect(status().isOk()) .andExpect(content().string("query result"));}

总结一下:

1、需要熟悉并掌握@RunWith(SpringRunner.class)、@SpringBootTest、@Before、@After、@Test几个注解的用法。2、测试服务端接口和测试Controller的不同是Controller需要额外的加载上下文并初始化MockMvc,并通过MockMvc模拟发送rest请求,通过断言判定结果是否正确。

相关产品

COPYRIGHTS©2017 环亚电游最新网站 ALL RIGHTS RESERVED 备案号:296