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

SpringBoot @Test單元測試方式

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

一、普通測試

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

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

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

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

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

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

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

2.測試用例:

 
@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單元測試

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

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

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

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

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

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

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

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

四、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)文章

  • springboot+vue項(xiàng)目從第一行代碼到上線部署全流程

    springboot+vue項(xiàng)目從第一行代碼到上線部署全流程

    本文詳細(xì)介紹了如何從零開始搭建一個(gè)基于Spring Boot和Vue.js的前后端分離項(xiàng)目,并涵蓋項(xiàng)目需求分析、技術(shù)選型、項(xiàng)目結(jié)構(gòu)設(shè)計(jì)、前后端交互、部署上線等全過程,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • springboot中動(dòng)態(tài)權(quán)限實(shí)時(shí)管理的實(shí)現(xiàn)詳解

    springboot中動(dòng)態(tài)權(quán)限實(shí)時(shí)管理的實(shí)現(xiàn)詳解

    這篇文章主要為大家詳細(xì)介紹了如何簡單實(shí)現(xiàn)一個(gè)在springboot中動(dòng)態(tài)權(quán)限的實(shí)時(shí)管理,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2024-10-10
  • Java IO讀取文件的實(shí)例詳解

    Java IO讀取文件的實(shí)例詳解

    這篇文章主要介紹了Java IO讀取文件的實(shí)例詳解的相關(guān)資料,主要介紹字符流和字節(jié)流的內(nèi)容,需要的朋友可以參考下
    2017-07-07
  • java數(shù)據(jù)結(jié)構(gòu)之希爾排序

    java數(shù)據(jù)結(jié)構(gòu)之希爾排序

    這篇文章主要為大家詳細(xì)介紹了java數(shù)據(jù)結(jié)構(gòu)之希爾排序的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 如何用Java實(shí)現(xiàn).env文件讀取敏感數(shù)據(jù)

    如何用Java實(shí)現(xiàn).env文件讀取敏感數(shù)據(jù)

    這篇文章主要介紹了如何用Java實(shí)現(xiàn).env文件讀取敏感數(shù)據(jù),并提供了一個(gè)自動(dòng)配置類EnvAutoConfiguration,common-env-starter-demo模塊展示了如何配置和啟動(dòng)一個(gè)簡單的Spring Boot應(yīng)用程序,需要的朋友可以參考下
    2025-02-02
  • IDEA配置Maven教程的超詳細(xì)講解版

    IDEA配置Maven教程的超詳細(xì)講解版

    IntelliJ IDEA是當(dāng)前最流行的Java IDE(集成開發(fā)環(huán)境)之一,也是業(yè)界公認(rèn)最好用的Java開發(fā)工具之一,這篇文章主要給大家介紹了關(guān)于IDEA配置Maven教程的超詳細(xì)講解版,需要的朋友可以參考下
    2023-11-11
  • IDEA Servlet 模板設(shè)置的方法

    IDEA Servlet 模板設(shè)置的方法

    這篇文章主要介紹了IDEA Servlet 模板設(shè)置的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 判斷以逗號分隔的字符串中是否包含某個(gè)數(shù)的實(shí)例

    判斷以逗號分隔的字符串中是否包含某個(gè)數(shù)的實(shí)例

    下面小編就為大家?guī)硪黄袛嘁远禾柗指舻淖址惺欠癜硞€(gè)數(shù)的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • JavaWeb開發(fā)實(shí)現(xiàn)備忘錄

    JavaWeb開發(fā)實(shí)現(xiàn)備忘錄

    這篇文章主要為大家詳細(xì)介紹了JavaWeb開發(fā)實(shí)現(xiàn)備忘錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • java中l(wèi)ong數(shù)據(jù)類型轉(zhuǎn)換為int類型

    java中l(wèi)ong數(shù)據(jù)類型轉(zhuǎn)換為int類型

    這篇文章主要講解Java中基本數(shù)據(jù)類型,java long 類型與其java int類型的轉(zhuǎn)換的幾種方法,希望能給大家做一個(gè)參考
    2016-07-07

最新評論

晋中市| 峡江县| 巴东县| 高青县| 四平市| 乐至县| 江孜县| 正定县| 阿尔山市| 黔南| 博客| 阿拉善右旗| 涿州市| 长武县| 宜黄县| 新兴县| 连江县| 弥渡县| 济阳县| 温宿县| 偃师市| 沾化县| 霸州市| 苍梧县| 涿州市| 敦煌市| 丹寨县| 新源县| 日照市| 华安县| 双峰县| 盐池县| 花莲市| 鹤岗市| 凤山县| 青阳县| 临漳县| 巢湖市| 广水市| 无棣县| 永清县|