Rare's Tech-Blog
阿新 • • 發佈:2018-12-22
在go的pkg庫裡提供了一個單元測試的框架testing,並提供了一個測試工具gotest
規則如下:
如果我們有一個檔案add.go,這其對應的測試檔名為add_test.go
在add_test.go中,引入testing庫,然後新增測試方法
測試方法的函式必須是如下形式
func TestXXX(t *testing.T) {
//....
}
而且其中第一個'X'還不能是小寫字母,如果在測試方法中呼叫了testing庫中的T類的Error,Fail,Fatal等方法則表示發生錯誤,測試不通過
比如我們有如下檔案add.go
package add
func add(a, b int) int {
return a+b
}
編寫如下測試檔案:
package add
func TestAdd(t *testing.T) {
if add(1,1) != 2 {
t.Error("1+1!=2")
}
}
然後我們執行如下命令:
gotest add_test.go
則在一堆編譯執行指令後,會看到最後一行顯示為:
PASS
也可以選擇寫Makefile,那樣就可以直接執行
gotest
進行測試,但是有一點需要注意,Makefile中的GOFILES列表裡不需要包含*_test.go檔案,gotest程式會自動包含,否則會出現重定義錯誤