Go 函數測試指南:單元測試用於隔離測試函數行為。 testify/assert 提供有用的斷言工具,需要匯入 github.com/stretchr/testify/assert。使用 assert.Equal(t, 預期值, 函數呼叫) 進行斷言。使用 go test 指令執行測試。
在編寫 Go 程式時,單元測試至關重要,它允許我們驗證函數是否按預期運行。本文將提供有關如何測試 Go 函數的逐步指南,並附有實戰案例。
單元測試是在隔離環境中測試函數的行為,而不考慮其他程式碼。
testify/assert 是一個流行的 Go 測試包,具有一組有用的斷言工具。要安裝它,請執行:
go get github.com/stretchr/testify/assert
要使用assert,首先需要在單元測試檔案中匯入它:
import "github.com/stretchr/testify/assert"
現在,您可以編寫測試案例,如下所示:
func TestAdd(t *testing.T) { // 断言 a+b 等于 c assert.Equal(t, 3, Add(1, 2)) }
要執行單元測試,請在命令列中使用go test
指令:
go test
#考慮以下用於計算兩個數字總和的簡單函數:
func Add(a, b int) int { return a + b }
為了測試此函數,我們可以使用以下測試案例:
func TestAdd(t *testing.T) { testCases := []struct { a, b, expected int }{ {1, 2, 3}, {5, 10, 15}, {-1, -2, -3}, } for _, tc := range testCases { actual := Add(tc.a, tc.b) assert.Equal(t, tc.expected, actual) } }
在測試案例中,我們將多個測試集合到testCases
片段中。每個測試案例都指定了輸入值 a
和 b
,以及預期的結果 expected
。
循環遍歷每個測試案例,呼叫 Add
函數並使用 assert 斷言結果與預期值相符。如果任何斷言失敗,則測試將失敗。
以上是Golang函數如何測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!