Go資深工程師講解(慕課) 003

003

測試

吐槽別人家的,go語言採用表格驅動測試

  • 測試數據和測試邏輯混在一些
  • 出錯信息不明確
  • 一旦一個數據出錯測試全部結束

表格驅動測試

test:=[]struct{
    a,b,c int32
}{
    {1,2,3},
    {0,2,0},
    {0,0,0},
    {0,0,0},
    {-1,1,0},
    {math.MaxInt32,1,math.MinInt32},
}
for _,test:= reange tests {
    if actual:=add(test.a,test.b); actual!=test.c{
        // 測試提示
    }
}
  • 分離測試數據和測試邏輯
  • 明確出錯信息
  • 可以部分失敗

主題測試文章,只做測試使用。發佈者:Walker,轉轉請注明出處:https://walker-learn.xyz/archives/6738

(0)
Walker的頭像Walker
上一篇 2026年3月6日 07:00
下一篇 2026年3月6日 06:00

相關推薦

  • 編程基礎 0002_名庫講解

    名庫講解 goconfig go 語言針對 windows 下常見的 ini 格式的配置文件解析器,該解析器在涵蓋了所有 ini 文件操作的基礎上,又針對 go 語言實際開發過程中遇到的一些需求進行了擴展。該解析器最大的優勢在於對注釋的極佳支持,除此之外,支持多個配置文件覆蓋加載也是非常特別但好用的功能。 提供與 windows api 一模一樣的操作 支持…

    2026年3月6日
    10600
  • 編程基礎 0008_標準庫進階

    Go 標準庫進階 系統整理 Go 標準庫中最常用的包,重點覆蓋 io、os、bufio、strings、time、fmt 等 1. io 包核心接口 Go 的 I/O 設計圍繞幾個核心接口展開,幾乎所有 I/O 操作都基於它們。 // 最基礎的兩個接口 type Reader interface { Read(p []byte) (n int, err er…

    後端開發 2026年3月6日
    13100
  • Go工程師體系課 007

    商品微服務 實體結構說明 本模塊包含以下核心實體: 商品(Goods) 商品分類(Category) 品牌(Brands) 輪播圖(Banner) 品牌分類(GoodsCategoryBrand) 1. 商品(Goods) 描述平台中實際展示和銷售的商品信息。 字段說明 字段名 類型 說明 name String 商品名稱,必填 brand Pointer …

    後端開發 2026年3月6日
    9800
  • 編程基礎 0010_Go底層原理與源碼精華

    Go 底層原理與源碼精華 基於《Go 源碼剖析》(雨痕, 第五版下冊)、《Go 1.4 runtime》、《Go 學習筆記 第四版》、《Golang 性能優化》、《Go Execution Modes》等資料整理,並補充現代 Go 版本的變化。 一、Go 編譯器與鏈接器 1.1 編譯流程概覽 Go 的編譯過程分為以下階段: 源碼 (.go) --> 詞…

    後端開發 2026年3月6日
    10800
  • 編程基礎 0006_併發進階_sync包與Context

    併發進階:sync 包與 Context 一、sync 包詳解 1. sync.Mutex 與 sync.RWMutex // Mutex: 互斥鎖,同一時間只有一個 goroutine 能持有 var mu sync.Mutex var count int func increment() { mu.Lock() defer mu.Unlock() cou…

    後端開發 2026年3月6日
    12100
簡體中文 繁體中文 English