首頁 > 後端開發 > Golang > 主體

你可以在 Go 的子目錄中執行測試嗎?

Linda Hamilton
發布: 2024-11-26 11:25:10
原創
522 人瀏覽過

Can You Run Tests in Subdirectories in Go?

在Go 的子目錄中運行測試

透過將測試和範例放置在子目錄中來保持工作空間井然有序是一種有效的方法。本文探討了在 Go 中實現此目標的可行性和所需步驟。

在子目錄中測試

Go 允許您透過使用" 指定完整路徑來從子目錄執行測試./...":

go test ./...
登入後複製

此指令將掃描所有子目錄中的套件並執行其中的測試。但是,有一些影響需要考慮。

包存取和可見性

將測試文件放置在子目錄中時,在導出的變數和函數前添加包名稱前綴非常重要用於測試文件存取導出的內容。非導出成員將無法存取。

go testgo test -cover

使用go test -cover 時 對於程式碼覆蓋率,使用go test -cover 時 對於程式碼覆蓋率,使用

-coverpkg=./...
go test -coverpkg=./... ./...
登入後複製
來收集至關重要所有套件的覆蓋率數據:

整合測試

從 Go 1.20 開始,現在支援整合測試進行覆蓋率分析。在構建可執行文件時使用-cover

GOCOVERDIR
go build -cover -o myprogram.exe myprogram.go
mkdir somedata
GOCOVERDIR=somedata ./myprogram.exe
登入後複製
指定覆蓋數據的位置:

備用方法

您也可以將測試分離到不同的套件中,而不將它們放在子目錄中。例如,套件「foo」的測試可以駐留在同一目錄中的套件「foo_test」中,確保只能存取「foo」的匯出成員。

結論

雖然從子目錄運行測試在技術上是可行的,但這可能不是組織和可訪問性的最佳實踐。在同一目錄中建立單獨的測試包的替代方法是更有效地管理測試的可行選擇。

以上是你可以在 Go 的子目錄中執行測試嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板