go test

撰寫

新建一個檔案XX_test.go,並為 func 取名 TestXXX(t *testing.T)

func TestXXXt *testing.T) {
	n := XXX(1, 2)
	if n == 3 { // 自己寫if判斷
		t.Log("success")
	} else {
		t.Error("fail") 。
	}


if !reflect.DeepEqual(w.Body.String(), expactedResp) {
		t.Errorf("Resp(%s) != expactedResp(%s)", w.Body.String(), expactedResp)
	}
}

執行

go test -v -cover ,v代表詳細內容與印出log, cover則可以計算出覆蓋率

更多詳細內容可以看[Go 06] 寫測試並產出一目瞭然的網頁版覆蓋率報告 再也不用怕遺漏

assert套用

針對判斷的地方可以套用assert 。

import "github.com/stretchr/testify/assert"

+//使用
assert.Equal(t, http.StatusOK, w.Code)


+//從底層可以看到它幫你把錯誤的輸出log寫好了 超方便  
        	Error:      	Not equal: 
        	            	expected: 200
        	            	actual  : 400
        	Test:       	Test_UpdateInfoBadHandler

Last updated