1. 程式人生 > >Rare's Tech-Blog

Rare's Tech-Blog

在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程式會自動包含,否則會出現重定義錯誤