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://www.walker-learn.xyz/archives/6738

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

相關推薦

  • 編程基礎 0004_Web_beego開發

    beego 開始 2 文章的添加與刪除 創建 TopicController // controllers中添加topic.go package controllers import "github.com/astaxie/beego" type TopicController struct { beego.Controller } fu…

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

    Docker 容器化 —— Go 項目實戰指南 一、Docker 核心概念 1.1 什麼是 Docker Docker 是一個開源的容器化平臺,它可以將應用程序及其所有依賴項打包到一個標準化的單元(容器)中,從而實現"一次構建,到處運行"。對於 Go 開發者而言,Docker 解決了以下痛點: 開發環境與生產環境不一致 依賴管理複雜(數據庫、緩存、消息隊列等…

    後端開發 2026年3月6日
    7400
  • Go資深工程師講解(慕課) 008_GMP調度器與Go設計哲學

    Go GMP 調度器與設計哲學 對應視頻 9-2 go語言的調度器、18-1 體會Go語言的設計、18-2 課程總結 1. Go 調度器演進 1.0 時代:單線程調度器(Go 0.x) 只有一個線程運行 goroutine 所有 goroutine 排隊等待 無法利用多核 1.1 時代:多線程調度器(Go 1.0) 引入多線程 但全局鎖競爭嚴重,性能瓶頸 1…

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

    項目結構說明:user-web 模塊 user-web 是 joyshop_api 工程中的用戶服務 Web 層模塊,負責處理用戶相關的 HTTP 請求、參數校驗、業務路由以及調用後端接口等功能。以下是目錄結構說明: user-web/ ├── api/ # 控制器層,定義業務接口處理邏輯 ├── config/ # 配置模塊,包含系統配置結構體及讀取邏輯 …

    後端開發 2026年3月6日
    6700
  • Go日積月累 電子書目錄與推薦

    Go 語言電子書精華整理與推薦 基於 48 份 Go 語言電子書資料,按主題提煉爲 4 篇系統化精華文檔。整理時間:2026-03-06 精華文章導讀 以下 4 篇文章從 48 份電子書中提煉核心知識,按主題系統化整理,覆蓋 Go 語言從底層原理到企業實戰的完整知識體系。 1. Go 底層原理與源碼精華 知識來源:《Go 源碼剖析》(雨痕)、《Go 1.4 …

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