go做單元測試流程
阿新 • • 發佈:2022-05-15
原因:go為什麼要做單元測試那?第一是因為在開發專案的時候,許多功能就是小功能堆積起來的,為了保證專案的bug最優,所以對每個環節都要有一定的測試,這樣才可以保證bug率最小
滿足條件
1.所寫測試檔案和原始碼檔案在同一個目錄下。
2.檔名字要以*.test.go結尾
3.測試檔案裡面方法要以Test+原始檔方法名字
4.執行 go test 命令來執行
例項
這是寫的一個簡單功能[按照指定字串切割]
package handle import ( "strings" ) func Split(str string, sep string) []string{ var ret []string index:=strings.Index(str,sep) for index >=0 { ret=append(ret,str[:index]) str=str[index+1:] index= strings.Index(str,sep) } ret=append(ret,str) return ret }
所在目錄為
handle_test.go為所屬測試檔案,內容
package handle import ( "reflect" "testing" ) func TestSplit(t *testing.T) { str:="abcd" sep:="c" ret:=Split(str,sep)//結果 want:=[]string{"ab","d"}//期望結果 if !reflect.DeepEqual(ret,want) { t.Fatal("is not errors") } }