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

SpringBoot @Test單元測(cè)試方式

 更新時(shí)間:2024年04月19日 15:08:04   作者:偷代碼的貓  
這篇文章主要介紹了SpringBoot @Test單元測(cè)試方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、普通測(cè)試

1.初步了解:springboot一般使用maven搭建工程,在maven工程中存在test包(雖然測(cè)試用例是可以存在于src下,但是規(guī)范統(tǒng)一是放在test中)

我們的在test包可以同步src下的包結(jié)構(gòu),針對(duì)相應(yīng)的java類寫test用例,在做單元測(cè)試這是非常重要的

2.一個(gè)簡(jiǎn)單的測(cè)試用例,就像main方法一樣

public class UtilTest {
    @Test
    public void currencyTest() throws Exception{
        String uuid = MD5Util.getMd5("測(cè)試用例");
 
        System.out.println(uuid);
    }
}

注意到這里我們使用了這個(gè)注解@Test,由JUnit提供,它回去掃描帶有該注解的方法去調(diào)用,從而達(dá)到相對(duì)應(yīng)的效果

二、SpringBoot調(diào)用測(cè)試  

1.我們調(diào)用springboot中的controller、service、mapper層時(shí),需要注入它們,需要springboot的相關(guān)環(huán)境 

2.測(cè)試用例:

 
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringBootCatApplication.class)
public class CatTest {
    @Autowired
    private ElasticDao elasticDao;
    @Autowired
    private testService testService;
 
    @Test
    public void testEs() throws Exception{
        ResponseEntity responseEntity = elasticDao.saveAndUpdateBulkList(EsIndexEnum.TEST.type,"test","test");
        System.out.println(responseEntity);
    }
 
    @Test
    public void testTestService() throws Exception{
        ResultEntity ResultEntity = testService.test("1");
        System.out.println(ResultEntity);
    }
}

這里我們添加了兩個(gè)注解@RunWith@SpringBootTest,可以進(jìn)入SpringBootTest中查看到這一段代碼確認(rèn)web環(huán)境,一般我們將classes指向啟動(dòng)類

SpringBootTest.WebEnvironment webEnvironment() default SpringBootTest.WebEnvironment.MOCK;

三、Junit4單元測(cè)試

這個(gè)依賴于idea的插件Junit

  • 1、選擇要測(cè)試的java類
  • 2、按住alt+insert鍵
  • 3、選擇Junit Test
  • 4、選擇Junit4
  • 5、生成在test對(duì)應(yīng)包下

測(cè)試內(nèi)容可以選擇上述直接調(diào)用方法體,也可以是用Junit提供的Mock對(duì)象

/**
     * 模擬mvc測(cè)試對(duì)象
     */
    private MockMvc mockMvc;
 
    /**
     * web項(xiàng)目上下文
     */
    @Autowired
    private WebApplicationContext webApplicationContext;
 
    /**
     * 所有測(cè)試方法執(zhí)行之前執(zhí)行該方法
     */
    @Before
    public void before() {
        //獲取mock對(duì)象
        mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
    }

比較測(cè)試結(jié)果是否符合預(yù)期可以使用

Assert.assertEquals("預(yù)期結(jié)果", "實(shí)際結(jié)果");
Assert.assertTrue();
Assert.assertNotNull();
Assert.assertNotEquals();
Assert.assertNull();

我們可以使用Jacoco,來獲得我們單元測(cè)試的分支覆蓋率

這里我就不做過多的描述了,有興趣可以去了解一下

四、pom.xml依賴

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-test</artifactId>
	<scope>test</scope>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-test</artifactId>
	<version>2.1.3.RELEASE</version>
</dependency>
<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>4.12</version>
</dependency>

總結(jié)

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

相關(guān)文章

  • java Spring 5 新特性函數(shù)式Web框架詳細(xì)介紹

    java Spring 5 新特性函數(shù)式Web框架詳細(xì)介紹

    正如昨天Juergen博客中所提到的,Spring 5.0的第二個(gè)里程碑是引入了一個(gè)新的函數(shù)式web框架。在這篇文章中,我們將給出關(guān)于這個(gè)框架的更多信息,,需要的朋友可以參考下
    2016-12-12
  • 走進(jìn)JDK之不可變類String

    走進(jìn)JDK之不可變類String

    這篇文章主要給大家介紹了JDK之不可變類String的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JDK具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Java實(shí)現(xiàn)考試系統(tǒng)

    Java實(shí)現(xiàn)考試系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)考試系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 詳解Java如何使用集合來實(shí)現(xiàn)一個(gè)客戶信息管理系統(tǒng)

    詳解Java如何使用集合來實(shí)現(xiàn)一個(gè)客戶信息管理系統(tǒng)

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java 集合實(shí)現(xiàn)一個(gè)客戶信息管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • Java中為什么要實(shí)現(xiàn)Serializable序列化

    Java中為什么要實(shí)現(xiàn)Serializable序列化

    在Java編程中,Serializable序列化是一個(gè)常見的概念,它允許對(duì)象在網(wǎng)絡(luò)上傳輸或持久化到磁盤上,本文將深入探討為什么在Java中要實(shí)現(xiàn)Serializable序列化,并通過示例代碼來解釋其重要性
    2023-10-10
  • 詳解IntelliJ IDEA 2020 的Debug功能

    詳解IntelliJ IDEA 2020 的Debug功能

    這篇文章主要介紹了IntelliJ IDEA 2020 的Debug功能,本文通過實(shí)例截圖相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • SpringBoot-RestTemplate如何實(shí)現(xiàn)調(diào)用第三方API

    SpringBoot-RestTemplate如何實(shí)現(xiàn)調(diào)用第三方API

    這篇文章主要介紹了SpringBoot-RestTemplate實(shí)現(xiàn)調(diào)用第三方API的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 快速解決跨域請(qǐng)求問題:jsonp和CORS

    快速解決跨域請(qǐng)求問題:jsonp和CORS

    這篇文章主要介紹了快速解決跨域請(qǐng)求問題:jsonp和CORS,涉及jsonp和CORS的介紹,分享了前端 jQuery 寫法,后端 SpringMVC 配置,后端非 SpringMVC 配置等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-11-11
  • 詳解設(shè)計(jì)模式在Spring中的應(yīng)用(9種)

    詳解設(shè)計(jì)模式在Spring中的應(yīng)用(9種)

    這篇文章主要介紹了詳解設(shè)計(jì)模式在Spring中的應(yīng)用(9種),詳細(xì)的介紹了這9種模式在項(xiàng)目中的應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2019-04-04
  • 阿里nacos+springboot+dubbo2.7.3統(tǒng)一處理異常的兩種方式

    阿里nacos+springboot+dubbo2.7.3統(tǒng)一處理異常的兩種方式

    本文主要介紹了阿里nacos+springboot+dubbo2.7.3統(tǒng)一處理異常的兩種方式,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評(píng)論