最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用springboot單元測(cè)試對(duì)weblistener的加載測(cè)試

 更新時(shí)間:2021年10月14日 14:22:08   作者:NewshiJ  
這篇文章主要介紹了使用springboot單元測(cè)試對(duì)weblistener的加載測(cè)試,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

springboot單元測(cè)試對(duì)weblistener的加載測(cè)試

使用spring-boot對(duì)web項(xiàng)目進(jìn)行測(cè)試時(shí)對(duì)weblistener進(jìn)行加載.以proxool連接池的加載為例.

原監(jiān)聽(tīng)器代碼

@WebListener
       public class ProxoolListener implements ServletContextListener{
       @Override
       public void contextDestroyed(ServletContextEvent arg0) {
 
       }
        @Override
        public void contextInitialized(ServletContextEvent arg0) {        
        loadProxool();
        
        }
       ...//其他實(shí)現(xiàn)方法
       }

spring-boot測(cè)試適配修改,繼承TestExcutionListener接口,實(shí)現(xiàn)prepareTestInstance方法,將監(jiān)聽(tīng)業(yè)務(wù)同樣放在此方法中做預(yù)處理即可。

@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 自動(dòng)生成的方法存根  
 }
 
 @Override
 public void afterTestMethod(TestContext arg0) throws Exception {
  // TODO 自動(dòng)生成的方法存根
  
 }
 
 @Override
 public void beforeTestClass(TestContext arg0) throws Exception {
  // TODO 自動(dòng)生成的方法存根  
 }
 
 @Override
 public void beforeTestMethod(TestContext arg0) throws Exception {
  // TODO 自動(dòng)生成的方法存根  
 }
 
 @Override
 public void prepareTestInstance(TestContext arg0) throws Exception {
                //啟動(dòng)測(cè)試時(shí)需要預(yù)先的處理
  loadProxool();  
 }
}

測(cè)試類(lèi)

@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做單元測(cè)試

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;
/**
 * 類(lèi)說(shuō)明    :MockMvc 測(cè)試web
 * 作者      :liuys
 * 日期      :2017/10/11  10:50
 * 版本號(hào)    : V1.0
 */
@RunWith(SpringJUnit4ClassRunner.class)
//開(kāi)啟web上下文測(cè)試
@WebAppConfiguration
@SpringBootTest
public class LoginControllerTest {
    //注入webApplicationContext
    @Autowired
    private WebApplicationContext webApplicationContext;
    private MockMvc mockMvc;
    //設(shè)置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();
        }
    }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot 如何讀取classpath下的文件

    SpringBoot 如何讀取classpath下的文件

    這篇文章主要介紹了SpringBoot 讀取classpath下的文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Seata之分布式事務(wù)問(wèn)題及解決方案

    Seata之分布式事務(wù)問(wèn)題及解決方案

    這篇文章主要介紹了Seata之分布式事務(wù)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • mybatisplus中返回Vo的案例講解

    mybatisplus中返回Vo的案例講解

    這篇文章主要介紹了mybatisplus中返回Vo的案例,mybatisplus內(nèi)置的幾個(gè)方法使用泛型限制了方法的返回類(lèi)型,所以實(shí)現(xiàn)返回Vo還是得自定義方法,?這個(gè)方法名盡量不要和原有的名字類(lèi)似,本文通過(guò)實(shí)例代碼給大家詳解講解,需要的朋友可以參考下
    2023-03-03
  • Java構(gòu)造函數(shù)與普通函數(shù)用法詳解

    Java構(gòu)造函數(shù)與普通函數(shù)用法詳解

    本篇文章給大家詳細(xì)講述了Java構(gòu)造函數(shù)與普通函數(shù)用法以及相關(guān)知識(shí)點(diǎn),對(duì)此有興趣的朋友可以參考學(xué)習(xí)下。
    2018-03-03
  • springboot利用aop實(shí)現(xiàn)接口異步(進(jìn)度條)的全過(guò)程

    springboot利用aop實(shí)現(xiàn)接口異步(進(jìn)度條)的全過(guò)程

    我們?cè)陂_(kāi)發(fā)中,調(diào)用第三方接口時(shí),往往是提交數(shù)據(jù),要異步去獲取數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于springboot利用aop實(shí)現(xiàn)接口異步(進(jìn)度條)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • Java8中l(wèi)ambda表達(dá)式的應(yīng)用及一些泛型相關(guān)知識(shí)

    Java8中l(wèi)ambda表達(dá)式的應(yīng)用及一些泛型相關(guān)知識(shí)

    這篇文章主要介紹了Java8中l(wèi)ambda表達(dá)式的應(yīng)用及一些泛型相關(guān)知識(shí)的相關(guān)資料
    2017-01-01
  • Mybatis中兼容多數(shù)據(jù)源的databaseId(databaseIdProvider)的簡(jiǎn)單使用方法

    Mybatis中兼容多數(shù)據(jù)源的databaseId(databaseIdProvider)的簡(jiǎn)單使用方法

    本文主要介紹了Mybatis中兼容多數(shù)據(jù)源的databaseId(databaseIdProvider)的簡(jiǎn)單使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • JS+Struts2多文件上傳實(shí)例詳解

    JS+Struts2多文件上傳實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了JS+Struts2多文件上傳實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 較詳細(xì)的JNI簡(jiǎn)介

    較詳細(xì)的JNI簡(jiǎn)介

    JNI是本地語(yǔ)言編程接口。它允許運(yùn)行在JVM中的Java代碼和用C、C++或匯編寫(xiě)的本地代碼相互操作。下面通過(guò)本文給大家分享JNI簡(jiǎn)介,感興趣的朋友一起看看吧
    2017-10-10
  • Java多線(xiàn)程之CAS機(jī)制詳解

    Java多線(xiàn)程之CAS機(jī)制詳解

    這篇文章主要介紹了Java多線(xiàn)程之CAS機(jī)制詳解,CAS指的是Compare-And-Swap(比較與交換),它是一種多線(xiàn)程同步的技術(shù),常用于實(shí)現(xiàn)無(wú)鎖算法,從而提高多線(xiàn)程程序的性能和擴(kuò)展性,需要的朋友可以參考下
    2023-07-07

最新評(píng)論

郸城县| 乌审旗| 阿拉善左旗| 张家港市| 宣威市| 巴里| 海门市| 新干县| 松溪县| 文登市| 普兰县| 长白| 盐城市| 新营市| 赤壁市| 开阳县| 德钦县| 子长县| 同江市| 和平区| 娄烦县| 海晏县| 辽宁省| 右玉县| 南华县| 彰化市| 北流市| 宣城市| 华池县| 贵南县| 高密市| 台湾省| 隆德县| 溧阳市| 高雄县| 开化县| 宾川县| 黎城县| 武夷山市| 金山区| 疏附县|