欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Boot 2.X 快速集成單元測試解析

 更新時(shí)間:2019年08月13日 08:54:24   作者:java_lover  
這篇文章主要介紹了Spring Boot 2.X 快速集成單元測試解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、實(shí)現(xiàn)原理

使用MockMvc發(fā)起請(qǐng)求,然后執(zhí)行API中相應(yīng)的代碼,在執(zhí)行的過程中使mock模擬底層數(shù)據(jù)的返回,最后結(jié)果驗(yàn)證。

二、常用注解介紹

@SpringBootTest是SpringBoot的一個(gè)用于測試的注解,通過SpringApplication在測試中創(chuàng)建ApplicationContext。

@AutoConfigureMockMvc是用于自動(dòng)配置MockMvc。

@RunWith在JUnit中有很多個(gè)Runner,他們負(fù)責(zé)調(diào)用你的測試代碼,每一個(gè)Runner都有各自的特殊功能,你要根據(jù)需要選擇不同的Runner來運(yùn)行你的測試代碼。

@Before在每個(gè)測試方法前執(zhí)行,一般用來初始化方法。

@After在每個(gè)測試方法后執(zhí)行,在方法執(zhí)行完成后要做的事情。

三、主要代碼

引入測試jar包

 <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>

測試類中添加注解和測試代碼

package com.example.helloSpringBoot;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {HelloSpringBootApplication.class})
@AutoConfigureMockMvc //測試接口用
public class HelloControllerTest {
 private static final Logger log = LoggerFactory.getLogger(HelloControllerTest.class);
 @Before
 public void testBefore(){
  log.info("測試前");
 }
 @After
 public void testAfter(){
  log.info("測試后");
 }
 @Autowired
 private MockMvc mockMvc;
 /**
  * 測試 /mockTest
  *
  *
  */
 @Test
 public void mockTest()throws Exception{
  MvcResult mvcResult=mockMvc.perform(MockMvcRequestBuilders.get("/mockTest")).
    andExpect(MockMvcResultMatchers.status().isOk()).andReturn();
  int status=mvcResult.getResponse().getStatus();
  //打印出狀態(tài)碼,200就是成功
  log.info("狀態(tài)碼="+status);
  Assert.assertEquals(200,status);
 }
}

運(yùn)行mockTest

運(yùn)行成功后截圖如下:

上述三步操作完成后即可實(shí)現(xiàn)對(duì)API(Controller)測試,有問題歡迎留言溝通哦!

完整源碼地址:https://github.com/suisui2019/helloSpringBoot

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何用Eureka + Feign搭建分布式微服務(wù)

    如何用Eureka + Feign搭建分布式微服務(wù)

    Eureka是Spring Cloud Netflix的一部分,是一個(gè)服務(wù)注冊(cè)中心。其服務(wù)生態(tài)中主要有三個(gè)角色:Eureka注冊(cè)中心、服務(wù)提供者、服務(wù)消費(fèi)者。服務(wù)提供者注冊(cè)到Eureka后,服務(wù)消費(fèi)者就能夠直接向Eureka查詢當(dāng)前有哪些服務(wù)可用,再從中選取一個(gè)消費(fèi).本文講解如何搭建分布式微服務(wù)
    2021-06-06
  • Feign自定義重試策略及超時(shí)時(shí)間詳解

    Feign自定義重試策略及超時(shí)時(shí)間詳解

    這篇文章主要為大家介紹了Feign自定義重試策略及超時(shí)時(shí)間詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 解決java調(diào)用dll報(bào)Unable to load library錯(cuò)誤的問題

    解決java調(diào)用dll報(bào)Unable to load library錯(cuò)誤的問題

    這篇文章主要介紹了解決java調(diào)用dll報(bào)Unable to load library錯(cuò)誤的問題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • ActiveMQ結(jié)合Spring收發(fā)消息的示例代碼

    ActiveMQ結(jié)合Spring收發(fā)消息的示例代碼

    這篇文章主要介紹了ActiveMQ結(jié)合Spring收發(fā)消息的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • Java8 Optional判空詳解(簡化判空操作)

    Java8 Optional判空詳解(簡化判空操作)

    這篇文章主要給大家介紹了關(guān)于Java8 Optional判空(簡化判空操作)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 深入理解mybatis的ParamNameResolver

    深入理解mybatis的ParamNameResolver

    ParamNameResolver是 MyBatis 中的一個(gè)重要組件,它為 MyBatis 提供了一種方便的方式來獲取方法參數(shù)的名稱,本文主要介紹了深入理解mybatis的ParamNameResolver,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • 程序猿必須要掌握的多線程安全問題之鎖策略詳解

    程序猿必須要掌握的多線程安全問題之鎖策略詳解

    在筆者面試過程時(shí),經(jīng)常會(huì)被問到各種各樣的鎖,如樂觀鎖、讀寫鎖等等,非常繁多,在此做一個(gè)總結(jié),介紹的內(nèi)容如下,需要的朋友可以參考下
    2021-06-06
  • 實(shí)例解析Java設(shè)計(jì)模式編程中的適配器模式使用

    實(shí)例解析Java設(shè)計(jì)模式編程中的適配器模式使用

    本篇文章主要通過實(shí)例對(duì)適配器模式進(jìn)行了詳解,需要的朋友可以參考下
    2017-04-04
  • Linux下JDK安裝教程

    Linux下JDK安裝教程

    這篇文章主要為大家詳細(xì)介紹了Linux下JDK安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • SpringBoot項(xiàng)目中只執(zhí)行一次的任務(wù)寫法實(shí)現(xiàn)

    SpringBoot項(xiàng)目中只執(zhí)行一次的任務(wù)寫法實(shí)現(xiàn)

    有時(shí)候我們需要進(jìn)行初始化工作,就說明只要進(jìn)行一次的工作,本文主要介紹了SpringBoot項(xiàng)目中只執(zhí)行一次的任務(wù)寫法實(shí)現(xiàn),感興趣的可以了解一下
    2023-12-12

最新評(píng)論