gopl-zh.github.com/ch11/ch11-01.md

8 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## 11.1. go test
go test命令是一個按照一定的約定和組織的測試代碼的驅動程序。在包目録內所有以_test.go爲後綴名的源文件併不是go build構建包的一部分它們是go test測試的一部分。
在\*_test.go文件中有三種類型的函數測試函數、基準測試函數、示例函數。一個測試函數是以Test爲函數名前綴的函數用於測試程序的一些邏輯行爲是否正確go test命令會調用這些測試函數併報告測試結果是PASS或FAIL。基準測試函數是以Benchmark爲函數名前綴的函數它們用於衡量一些函數的性能go test命令會多次運行基準函數以計算一個平均的執行時間。示例函數是以Example爲函數名前綴的函數提供一個由編譯器保證正確性的示例文檔。我們將在11.2節討論測試函數的所有細節病在11.4節討論基準測試函數的細節然後在11.6節討論示例函數的細節。
go test命令會遍歷所有的\*_test.go文件中符合上述命名規則的函數然後生成一個臨時的main包用於調用相應的測試函數然後構建併運行、報告測試結果最後清理測試中生成的臨時文件。