示例測試(自我記錄測試)
此類測試可確保你的程式碼正確編譯並顯示在專案的生成文件中。除此之外,示例測試可以斷言你的測試產生正確的輸出。
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 方法的文件如下所示: