示例測試(自我記錄測試)

此類測試可確保你的程式碼正確編譯並顯示在專案的生成文件中。除此之外,示例測試可以斷言你的測試產生正確的輸出。

sum.go

package sum

// Sum calculates the sum of two integers
func Sum(a, b int) int {
    return a + b
}

sum_test.go

package sum

import "fmt"

func ExampleSum() {
    x := Sum(1, 2)
    fmt.Println(x)
    fmt.Println(Sum(-1, -1))
    fmt.Println(Sum(0, 0))

    // Output:
    // 3
    // -2
    // 0
}

要執行測試,請在包含這些檔案的資料夾中執行 go test,或將這兩個檔案放在名為 sum 的子資料夾中,然後從父資料夾執行 go test ./sum。在這兩種情況下,你將得到類似於此的輸出:

ok      so/sum    0.005s

如果你想知道這是如何測試你的程式碼,這是另一個示例函式,它實際上未通過測試:

func ExampleSum_fail() {
    x := Sum(1, 2)
    fmt.Println(x)

    // Output:
    // 5
}

當你執行 go test 時,你會得到以下輸出:

$ go test
--- FAIL: ExampleSum_fail (0.00s)
got:
3
want:
5
FAIL
exit status 1
FAIL    so/sum    0.006s

如果你想檢視 sum 軟體包的文件 - 只需執行:

go doc -http=:6060

並導航到 http:// localhost:6060 / pkg / FOLDER / sum / ,其中 FOLDER 是包含 sum 包的資料夾(在本例中為 so)。sum 方法的文件如下所示:

StackOverflow 文件