首頁 > 後端開發 > Golang > 如何使用單元測試框架對 Golang 函數進行測試?

如何使用單元測試框架對 Golang 函數進行測試?

WBOY
發布: 2024-04-16 11:00:01
原創
860 人瀏覽過

Go 中使用單元測試框架進行單元測試:匯入 testing 套件。寫出以 Test 為前綴的單元測試函數。使用斷言函數(如 assertEqual())驗證測試結果。執行單元測試(go test),驗證函數的正確性。

如何使用单元测试框架对 Golang 函数进行测试?

如何使用單元測試框架對Go 函數進行測試

#單元測試是驗證單一函數或方法正確性的至關重要的軟體開發實務。在 Go 中,使用單元測試框架(如 testing 套件)進行單元測試非常簡單。

安裝單元測試框架

testing 套件是 Go 標準函式庫的一部分。要使用它,請在你的專案中導入testing 套件:

import "testing"
登入後複製

編寫單元測試

##每個單元測試都是一個以

Test 為前綴的函數。它接受一個指標 *testing.T 作為參數,該參數用於報告測試結果和記錄失敗資訊。

基本的單元測試函數如下所示:

func TestAdd(t *testing.T) {
    result := Add(1, 2)
    if result != 3 {
        t.Errorf("Add(1, 2) = %d; want 3", result)
    }
}
登入後複製

斷言

#testing 套件提供了一系列斷言函數,用於驗證測試結果。常用的斷言包括:

    ##assertEqual()
  • #assertNotEqual()
  • assertNil()
  • assertError()
#實戰案例

考慮一個計算兩個數字總和的

Add()

函數:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>func Add(a, b int) int { return a + b }</pre><div class="contentsignin">登入後複製</div></div>我們可以寫一個單元測試來驗證此函數:

import "testing"

func TestAdd(t *testing.T) {
    tests := []struct {
        a, b, want int
    }{
        {1, 2, 3},
        {0, 0, 0},
        {-1, -1, -2},
    }

    for _, test := range tests {
        result := Add(test.a, test.b)
        if result != test.want {
            t.Errorf("Add(%d, %d) = %d; want %d", test.a, test.b, result, test.want)
        }
    }
}
登入後複製

執行測試

##若要執行單元測試,請使用go test

指令。它將查找並運行專案中所有

Test* 函數。

go test
登入後複製
如果測試通過,它將輸出以下結果:
PASS
ok  my_project/my_package  1.730s
登入後複製
否則,它將報告失敗的測試,包括錯誤訊息。

以上是如何使用單元測試框架對 Golang 函數進行測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板