在 Golang 中測試函數:建立以 _test.go 結尾的測試檔案。宣告一個以 TestXXX 命名的測試函數,其中 XXX 是被測函數的名稱。使用斷言來驗證預期結果與實際結果是否一致。設定斷點並使用偵錯器來調試測試失敗的情況。使用表格驅動測試和覆蓋率工具來增強測試效率。
Golang 函數的測試和除錯
在 Golang 中,測試是確保程式碼可靠性和準確性的重要實踐。本教學將指導你如何使用 Golang 內建的測試框架對函數進行測試和除錯。
測試函數
為了測試一個函數,你需要建立一個以 _test.go
結尾的新檔案。該檔案位於與被測函數相同的套件中。在測試檔案中,使用 testing
套件的 TestXXX
函數宣告一個測試函數,其中 XXX
是被測函數的名稱。例如:
// my_function_test.go package mypackage import ( "testing" ) func TestAdd(t *testing.T) { // ... }
斷言
在測試函數中,使用斷言來驗證預期結果與實際結果是否一致。 testing
套件提供了多種斷言函數,例如:
t.Equal(a, b)
:驗證a
和b
是否相等t.ErrorIs(err, expectedError)
:驗證err
和expectedError
是否是相同的錯誤t.True(cond)
:驗證cond
為true
#實戰案例
假設你有一個名為add
的函數,該函數接受兩個數字參數並傳回它們的和。你可以寫以下測試函數來測試add
函數:
// my_function_test.go import ( "testing" ) func TestAdd(t *testing.T) { tests := []struct { a, b int want int }{ {1, 2, 3}, {3, 4, 7}, {-1, -2, -3}, } for _, tt := range tests { got := add(tt.a, tt.b) if got != tt.want { t.Errorf("add(%d, %d) = %d, want %d", tt.a, tt.b, got, tt.want) } } }
調試
對於調試測試失敗的情況,可以透過在原始碼中設定斷點來使用調試器。在 VSCode 等 IDE 中,你可以右鍵點擊程式碼中的行並選擇「設定/刪除斷點」以設定斷點。當程式碼在偵錯器中運行時,它將在斷點處暫停,允許你檢查變數和堆疊追蹤。
提示
以上是Golang函數的測試和調試的詳細內容。更多資訊請關注PHP中文網其他相關文章!