Go 語言單元測試方法:匯入 testing 套件和被測試套件。定義以 "Test" 開頭的測試函數。定義測試案例,包含參數和預期結果。遍歷測試案例,呼叫函數並比較實際結果與預期結果。如有差異,觸發測試失敗。
Go 函數的單元測試實戰教學
單元測試是軟體開發中不可或缺的一部分,它可以幫助我們確保程式碼的正確性並減少缺陷。在 Go 中,可以使用內建的 testing
套件編寫單元測試。
程式碼範例
假設我們有一個greetPackage
套件,其中包含一個名為Greet
的函數,該函數接受一個名字參數並傳回一條問候語。
package greetPackage import "fmt" func Greet(name string) string { return fmt.Sprintf("Hello, %s!", name) }
我們可以使用 testing
套件來寫一個單元測試來測試 Greet
函數的功能。
package greetPackage_test import ( "testing" "github.com/example/myproject/greetPackage" ) func TestGreet(t *testing.T) { tests := []struct { name string expected string }{ {"Alice", "Hello, Alice!"}, {"Bob", "Hello, Bob!"}, } for _, test := range tests { actual := greetPackage.Greet(test.name) if actual != test.expected { t.Errorf("Greet(%s) = %s; expected %s", test.name, actual, test.expected) } } }
運作原理
testing
套件和正在測試的套件 (greetPackage
)。 *testing.T
參數。 tests
變數定義一個測試案例切片,其中每個用例包含要測試的參數(name
) 和預期的結果(expected
) 。 for
迴圈依序遍歷測試案例,並呼叫 greetPackage.Greet
函數。 greetPackage.Greet
函數的實際結果(actual
) 與預期結果(expected
) 進行比較,如果不同,則引發一個t.Error
。 執行測試
在終端機中執行以下命令可執行測試:
go test -v github.com/example/myproject/greetPackage
如果測試成功,它將輸出以下資訊:
PASS ok github.com/example/myproject/greetPackage 0.004s
以上是golang函數的單元測試實戰教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!