go test run 檔案 Go 語言學習之測試

2021-10-12 04:00:28 字數 1204 閱讀 8590

概念在 go 語言中,go 的測試方法依賴於命令 go test,go test 子命令是 go 語言包的測試驅動程式,測試檔案的檔名以 _test.go 結尾。每個測試檔案必須匯入 testing 包。

測試函式分為三種,分別是功能測試函式,函式名以 test 開頭,用來檢測一些程式邏輯的正確性,go test 命令執行測試函式,輸出結果是 pass 或 fail;效能測試函式,函式名以 benchmark 開頭,用來測試某些操作的效能,go test 執行測試函式,得到操作的平均執行時間;示例函式,函式名以 example 開頭,用來提供機器檢查過的文件。

go test 工具掃瞄 *_test.go 檔案尋找測試函式,並生成乙個臨時的 main 包來呼叫它們,然後編譯和執行,並匯報測試結果,最後清空臨時檔案。

02

單元測試

在 go 語言中,標準庫 testing 包的型別 t 提供一些方法來控制測試**的行為。

testing 包型別 t 常用方法:

方法描述

fail

失敗,繼續執行

failnow

失敗,終止執行

skipnow

跳過,停止執行

log輸出錯誤資訊

parallel

並行執行

go test 命令的引數 -v,可以輸出包中每個測試用例的名稱和執行時間;引數 -run 是乙個正規表示式,可以限制 go test 只執行測試函式名稱匹配給定模式的測試函式。

03

效能測試

testing 包型別 b 的 n 方法,可以逐步調整迴圈次數,直到可以獲取準確的效能測試結果。

go test 預設不會執行效能測試函式,需要使用引數 -bench,還可以使用 -cpu 引數設定併發限制,使用 -benchtime 引數設定最小測試時間來增加迴圈次數。

04

覆蓋率go test 使用引數 -cover 可以獲取**覆蓋率,檢測測試**本身的編寫質量,從而可以發現測試**的缺陷並改進。

Go語言基礎(十六) Go語言檔案操作

package main import fmt os bufio io ioutil 錯誤處理方法 func handle why string,e error func main handle 檔案讀取失敗!err fmt.println str fmt.println 檔案讀取完畢!讀檔案方式二...

Go語言檔案操作

檔案的開啟和關閉 os.open 函式能夠開啟乙個檔案,返回乙個 file和乙個err。對得到的檔案例項呼叫close 方法能夠關閉檔案。為了防止檔案忘記關閉,我們通常使用defer註冊檔案關閉語句。讀取檔案 file.read read方法定義如下 func f file read b byte ...

go語言 檔案操作

os.open 函式能夠開啟乙個檔案,返回乙個 file和乙個err。對得到的檔案例項呼叫close 方法能夠關閉檔案。package main import fmt os func main 關閉檔案 file.close 為了防止檔案忘記關閉,我們通常使用defer註冊檔案關閉語句。read方法...