透過 go test -cover 命令產生覆蓋率設定文件,使用 gocov 工具安裝並產生 HTML 報告以查看詳細的覆蓋率資訊。具體步驟包括:安裝 gocov 工具。執行單元測試,新增 -cover 標誌:go test -cover。產生覆蓋率報告:gocov convert -html coverage.out > coverage.html。
如何分析Golang 函數的測試覆蓋率報告
測試覆蓋率報告提供了有關程式碼中哪些部分已被測試的見解。這有助於識別未覆蓋的程式碼區域,並指導進一步的測試工作。
使用go test -cover
Go 語言內建了go test -cover
指令,可以產生測試覆蓋率報告。該命令輸出一個覆蓋率配置文件,其中包含每個包和函數的覆蓋率資訊。
安裝 gocov
工具
#gocov
是視覺化覆蓋率報告的工具。它可以從GitHub 或透過以下命令安裝:
go install github.com/wadey/gocov/gocov
#產生HTML 報告
要產生互動式的HTML 報告,請使用gocov
工具:
gocov convert -html coverage.out > coverage.html
產生的coverage.html
檔案可以在Web 瀏覽器中打開,以查看詳細的覆蓋率資訊。
實戰案例
假設我們有一個名為add
的函數,用於將兩個整數相加:
package main func add(a, b int) int { return a + b } func TestAdd(t *testing.T) { tests := []struct { a, b int want int }{ {1, 2, 3}, {3, 4, 7}, } for _, test := range tests { if got := add(test.a, test.b); got != test.want { t.Errorf("add(%d, %d): got %d, want %d", test.a, test.b, got, test.want) } } }
執行覆蓋率測試
使用go test -cover
指令執行單元測試:
go test -cover
#產生覆蓋率報告
產生並視覺化覆蓋率報告:
gocov convert -html coverage.out > coverage.html
開啟coverage.html
文件,可以看到add
函數的覆蓋率百分比。如果覆蓋率低於 100%,則表示某些程式碼路徑尚未被測試覆蓋。
以上是如何分析golang函數的測試覆蓋率報告?的詳細內容。更多資訊請關注PHP中文網其他相關文章!