前言
本系列文章目的是給測試人員提供go語言項目的基礎測試能力,包含並不限於如下幾個方面:
- go語言基礎,數據結構與轉換,方法調用等
- go test基礎,以及如何運用go test 測試go 代碼
- go http基礎,如果測試go語言編寫的http接口,例如go-sdk
本系列文章適用於對go語言無基礎或者基本沒編寫過go語言代碼的測試人員,已經系統學習過go的請無視。
建議用goland進行程序編碼與學習(goland沒有社區免費版,建議購買激活碼)
測試前的准備
測試人員拿到開發給的go語言代碼,首先分析下go語言程序的包的結構【下圖主要是針對go test框架】
- go的測試文件與被測文件在同一個目錄下(go test 默認)
- 同一個目錄下的文件,package必須一樣,例如下圖的config.go \config_test.go 的package名稱都是config
- import 類似其他語言的引用,可以方便的引用包、庫資源
- 測試文件的命名必須是Testxxx
Go 執行
go run test_case.go -t 1 -f \etc\xxx.toml (開發給的執行方式,主要是用的go run ,測試文件用的toml )
首先測試的時候直接調用開發給的命令,但是你會很快發現這種方式不適用測試,測試應該使用更符合測試的執行框架,go 里面就是go test (對比python里面的pytest)
go run 類似其他語言里面執行Main文件, 是最簡單的文件執行方式,-t 是開發自定義, -f 是指定測試文件 [ 由於不適合測試, go run里面的其他用法,測試可以自行探索,這里不再敘述]
這里注意go 的一個特性,就是可以很方便的生成可執行文件,而且可以跨系統的,這個很強大
// 生成xxxx.go的可執行文件xxx.exe ,注意xxxx.go 最好是帶有main,其他的情況沒試過
go build -0 xxxx.exe xxxx.go
// 執行可執行文件,參數是用戶自定義指定的,可以為空。
xxx_test.exe -t 1 -f ./etc/xxx.toml