1:日志記錄
t.Name():
返回正在運(yùn)行的測試或基準(zhǔn)測試的名字。
t.Log t.Logf
參數(shù)t上的Log和Logf一般用于記錄一些常規(guī)信息,以展現(xiàn)測試程序的運(yùn)行過程以及被測試程序?qū)嶓w的實(shí)時(shí)狀態(tài)。
t.Log方法與fmt.Println函數(shù)使用方法類型,
而t.Logf方法則與fmt.Printf函數(shù)的使用方法類似。
2:錯(cuò)誤記錄
t.Error t.Errorf
參數(shù)t的Error和Errorf方法被用來記錄錯(cuò)誤信息。當(dāng)被測試程序?qū)嶓w狀態(tài)不正確的時(shí)候,就應(yīng)該調(diào)用t.Error和t.Errorf方法,及時(shí)度當(dāng)前的錯(cuò)誤狀態(tài)進(jìn)行記錄
致命錯(cuò)誤記錄 t.Fatl t.Fatalf
參數(shù)t的Fatl 和 Fatalf方法被用于記錄致命的錯(cuò)誤,所謂致命錯(cuò)誤是指使測試無法繼續(xù)進(jìn)行的錯(cuò)誤。
除法函數(shù),如果除數(shù)是0,則會(huì)出現(xiàn)panic錯(cuò)誤。
失敗標(biāo)記 t.Fail t.FailNow
參數(shù)t的方法t.Fail和t.FailNow被用來標(biāo)記測試結(jié)果為失敗的,不同的是t.Fail只把測試結(jié)果標(biāo)記為失敗,不會(huì)終止當(dāng)前測試,t.FailNow則會(huì)立即終止當(dāng)前的測試函數(shù),并標(biāo)記為失敗。
3忽略測試
t.Skip t.Skipf t.SkipNow
在實(shí)際開發(fā)中,我們會(huì)新增一些功能,之前的測試已經(jīng)進(jìn)行過,不需要在運(yùn)行,我們只想看新增的測試信息,需要忽略之前的測試,但是又要保留測試代碼,或者我們只想看某個(gè)測試,可以通過t.Skip和t.SkipNow、t.Skipf標(biāo)記測試。
t.Skip相當(dāng)于先調(diào)用t.Lop再調(diào)用t.SkipNow
,t.Skipf則相當(dāng)于先調(diào)用t.Logf再調(diào)用t.SkipNow。
4 并行運(yùn)行
t.Parallel
之前的測試都是順序進(jìn)行的,有的時(shí)候我們的某些功能依賴于前一個(gè)功能的結(jié)果,但有的時(shí)候不需要,尤其是當(dāng)測試用例非常多時(shí),我們希望可以并行運(yùn)行測試,以便加快測試進(jìn)度,通過調(diào)用t.Parallel,可以把測試標(biāo)記為可以并發(fā)執(zhí)行的,可以讓測試并發(fā)d地執(zhí)行它以及其他科并行的函數(shù)
測試同時(shí)進(jìn)行,測試輸出顯得比較混亂,測試的輸出也沒有按照測試函數(shù)在測試文件中聲名的順序進(jìn)行,而是隨機(jī)的。