最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
使用springboot单元测试对weblistener加载测试代码示例
时间:2022-06-29 02:08:52 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下使用springboot单元测试对weblistener加载测试代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
使用spring-boot对web项目进行测试时对weblistener进行加载.以proxool连接池的加载为例.
原监听器代码
@WebListener public class ProxoolListener implements ServletContextListener{ @Override public void contextDestroyed(ServletContextEvent arg0) { } @Override public void contextInitialized(ServletContextEvent arg0) { loadProxool(); } ...//其他实现方法 }
spring-boot测试适配修改,继承TestExcutionListener接口,实现prepareTestInstance方法,将监听业务同样放在此方法中做预处理即可。
@WebListener public class ProxoolListener implements ServletContextListener,TestExecutionListener{ @Override public void contextDestroyed(ServletContextEvent arg0) { } @Override public void contextInitialized(ServletContextEvent arg0) { loadProxool(); } @Override public void afterTestClass(TestContext arg0) throws Exception { // TODO 自动生成的方法存根 } @Override public void afterTestMethod(TestContext arg0) throws Exception { // TODO 自动生成的方法存根 } @Override public void beforeTestClass(TestContext arg0) throws Exception { // TODO 自动生成的方法存根 } @Override public void beforeTestMethod(TestContext arg0) throws Exception { // TODO 自动生成的方法存根 } @Override public void prepareTestInstance(TestContext arg0) throws Exception { //启动测试时需要预先的处理 loadProxool(); } }
测试类
@RunWith(SpringJUnit4ClassRunner.class) @TestExecutionListeners(listeners = { ProxoolListener.class , DependencyInjectionTestExecutionListener.class }) public class DemoApplicationTest { @Test public void exampleTest() { try { System.out.println("Connection is closed : "+ProxoolUtility.getConnection("proxool.iovdc").isClosed()); } catch (SQLException e) { e.printStackTrace(); } } }
springboot web做单元测试
package com.ziroom.finance.mbs.web; import com.alibaba.fastjson.JSONObject; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.web.servlet.MockMvc; 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; /** * 类说明 :MockMvc 测试web * 作者 :liuys * 日期 :2017/10/11 10:50 * 版本号 : V1.0 */ @RunWith(SpringJUnit4ClassRunner.class) //开启web上下文测试 @WebAppConfiguration @SpringBootTest public class LoginControllerTest { //注入webApplicationContext @Autowired private WebApplicationContext webApplicationContext; private MockMvc mockMvc; //设置mockMvc @Before public void setMockMvc() { mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); } @Test public void login(){ try { JSONObject jsonObject = new JSONObject(); jsonObject.put("userName", "liuys26"); jsonObject.put("userPw", "123"); jsonObject.put("cityCode", "801000"); jsonObject.put("userType", "0"); mockMvc.perform(MockMvcRequestBuilders.post("/api/login/auth") .contentType(MediaType.APPLICATION_JSON) .content(jsonObject.toJSONString()) ).andExpect(MockMvcResultMatchers.status().isOk()) .andDo(MockMvcResultHandlers.print()); } catch (Exception e) { e.printStackTrace(); } } }
相关文章
- 《原神》5.2卡池抽取建议 11-14
- 《原神》5.2版本新怪物介绍 11-14
- 《原神》希诺宁增伤触发方法 11-14
- 《原神》循音觅奇活动入口 11-14
- 《原神》循音觅奇兑换码获取方法 11-14
- 《原神》花羽会活动飞行技巧介绍 11-14