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

Golang測(cè)試框架goconvey進(jìn)行單元測(cè)試流程介紹

 更新時(shí)間:2023年05月19日 10:40:07   作者:Sahm5k  
goconvey是一款針對(duì)Golang的測(cè)試框架,可以管理和運(yùn)行測(cè)試用例,同時(shí)提供了豐富的斷言函數(shù),并支持很多Web界面特性,這篇文章主要介紹了使用goconvey進(jìn)行單元測(cè)試流程,感興趣的同學(xué)可以參考下文

導(dǎo)包

import “github.com/smartystreets/goconvey”

核心API

頂層Convey:由測(cè)試描述、testing.T,行為函數(shù)組成。

Convey(description string, t *testing.T, action func())

其他層Convey:

Convey(description string, action func())

值斷言:判斷actual值是否符合預(yù)期。

func So(actual any, assert Assertion, expected ...any)

actual:實(shí)際值。

Assertion:斷言條件,一般為ShouldXXX組成,

expect:預(yù)期值。

convey運(yùn)行順序

由樹形結(jié)構(gòu)進(jìn)行遍歷

 Convey A
    So 1
        Convey B
        So 2
    Convey C
        So 3

執(zhí)行順序:1 A->B 、2 A->C

代碼示例

1.測(cè)試x++

func TestGetSumScore(t *testing.T) {
	Convey("start x is 0", t, func() {
		x := 0
		Convey("x++", func() {
			x++
			So(x, ShouldEqual, 1)
		})
	})
}

2.使用多層嵌套:測(cè)試GetSumScore函數(shù)

GetSumScore函數(shù)實(shí)現(xiàn):

type Student struct {
	ID    int64
	Name  string
	Age   int8
	Major string
	Score int
}
// 返回這些學(xué)生的分?jǐn)?shù)總和
func GetSumScore(students []Student) int {
	total := 0
	for _, v := range students {
		total += v.Score
	}
	return total
}

測(cè)試代碼:

func TestGetSumScore(t *testing.T) {
	convey.Convey("init students", t, func() {
		students := []Student{
			{Name: "yi", Score: 90},
			{Name: "w", Score: 100},
		}
		score := GetSumScore(students)
		convey.Convey("GetSumScore", func() {
			convey.So(score, convey.ShouldEqual, 190)
		})
		convey.Convey("Change students[0].score", func() {
			students[0].Score = 10
			score := GetSumScore(students)
			convey.So(score, convey.ShouldEqual, 110)
		})
	})
}

到此這篇關(guān)于Golang測(cè)試框架goconvey進(jìn)行單元測(cè)試流程介紹的文章就介紹到這了,更多相關(guān)Golang goconvey內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go?語(yǔ)言sort?中的sortInts?方法

    Go?語(yǔ)言sort?中的sortInts?方法

    這篇文章主要介紹了Go?語(yǔ)言sort?中的sortInts?方法,Go?的?sort?包實(shí)現(xiàn)了內(nèi)置和用戶定義類型的排序。我們將首先查看內(nèi)置函數(shù)的排序,西瓦嗯更多相關(guān)資料需要的小伙伴可以參考一下
    2022-04-04
  • 解決go mod私有倉(cāng)庫(kù)拉取的問(wèn)題

    解決go mod私有倉(cāng)庫(kù)拉取的問(wèn)題

    這篇文章主要介紹了解決go mod私有倉(cāng)庫(kù)拉取的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-05-05
  • 一文帶你了解Go語(yǔ)言fmt標(biāo)準(zhǔn)庫(kù)輸入函數(shù)的使用

    一文帶你了解Go語(yǔ)言fmt標(biāo)準(zhǔn)庫(kù)輸入函數(shù)的使用

    這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中?fmt?標(biāo)準(zhǔn)庫(kù)輸入函數(shù)的使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01
  • Go?函數(shù)中獲取調(diào)用者的函數(shù)名和文件名及行號(hào)

    Go?函數(shù)中獲取調(diào)用者的函數(shù)名和文件名及行號(hào)

    這篇文章主要介紹了Go?函數(shù)中獲取調(diào)用者的函數(shù)名和文件名及行號(hào),文章圍主題詳細(xì)內(nèi)容展開相關(guān)介紹,感興趣的小伙伴可以參考一下
    2022-05-05
  • golang設(shè)置http response響應(yīng)頭與填坑記錄

    golang設(shè)置http response響應(yīng)頭與填坑記錄

    這篇文章主要給大家介紹了關(guān)于golang設(shè)置http response響應(yīng)頭與填坑記錄的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • Go語(yǔ)言編譯環(huán)境設(shè)置教程

    Go語(yǔ)言編譯環(huán)境設(shè)置教程

    Go語(yǔ)言支持高并發(fā)(goroutine)、自動(dòng)垃圾回收,編譯為跨平臺(tái)二進(jìn)制文件,云原生兼容且社區(qū)活躍,開發(fā)便捷,內(nèi)置測(cè)試與vet工具輔助檢測(cè)錯(cuò)誤,依賴模塊化管理,提升開發(fā)效率
    2025-07-07
  • 使用Go編譯為可執(zhí)行文件的方法實(shí)現(xiàn)

    使用Go編譯為可執(zhí)行文件的方法實(shí)現(xiàn)

    本文主要介紹了使用Go編譯為可執(zhí)行文件的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • 基于Golang實(shí)現(xiàn)YOLO目標(biāo)檢測(cè)算法

    基于Golang實(shí)現(xiàn)YOLO目標(biāo)檢測(cè)算法

    目標(biāo)檢測(cè)是計(jì)算機(jī)視覺領(lǐng)域的重要任務(wù),它不僅可以識(shí)別圖像中的物體,還可以標(biāo)記出物體的位置和邊界框,YOLO是一種先進(jìn)的目標(biāo)檢測(cè)算法,以其高精度和實(shí)時(shí)性而聞名,本文將介紹如何使用Golang實(shí)現(xiàn)YOLO目標(biāo)檢測(cè)算法,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2023-11-11
  • Go?中的空白標(biāo)識(shí)符下劃線

    Go?中的空白標(biāo)識(shí)符下劃線

    這篇文章主要介紹了Go?中的空白標(biāo)識(shí)符下劃線,空白標(biāo)識(shí)符是未使用的值的占位符,由下劃線(_)表示,下文對(duì)其相關(guān)介紹需要的小伙伴可以參考一下
    2022-03-03
  • Go異常處理、泛型和文件操作實(shí)例代碼

    Go異常處理、泛型和文件操作實(shí)例代碼

    Go語(yǔ)言的異常處理機(jī)制與傳統(tǒng)的面向?qū)ο笳Z(yǔ)言(如 Java、C#)所使用的 try-catch 結(jié)構(gòu)有所不同,它采用了自己獨(dú)特的設(shè)計(jì)理念和方法,這篇文章主要介紹了Go異常處理、泛型和文件操作的相關(guān)資料,需要的朋友可以參考下
    2025-12-12

最新評(píng)論

信宜市| 赤峰市| 阿巴嘎旗| 莲花县| 黄石市| 昭通市| 晴隆县| 祥云县| 屏南县| 永年县| 天峻县| 志丹县| 昭通市| 肥西县| 怀来县| 来宾市| 额济纳旗| 彝良县| 开化县| 雷波县| 如皋市| 定日县| 定州市| 武清区| 盐源县| 杭锦旗| 华安县| 邓州市| 潮安县| 孟村| 嘉禾县| 措勤县| 龙胜| 滨海县| 虞城县| 崇阳县| 通城县| 青州市| 连平县| 宁德市| 邵武市|