從Go 二進位檔案擷取程式碼覆蓋率
問題:
問題:代碼覆蓋率如何針對Go 二進位檔案執行整合測試時會被擷取嗎?
答案:雖然原生 Go 覆蓋率工具僅適用於單元測試,但仍可收集覆蓋率用於整合測試的資料。
解決方案:要實現此目的:
<code class="go">func TestMainApp(t *testing.T) { go main() // Start integration tests }</code>
<code class="go">cmd := exec.Command("./mybin", "somefile1") cmd.Run()</code>
>
<code class="go">coverProfile := "coverage.out" test.RunMain() if err := testing.StartCoverage(coverProfile); err != nil { log.Fatalf("Coverage: %v", err) } defer testing.StopCoverage(coverProfile)</code>
<code class="go">if err := testing.RunTests(); err != nil { log.Fatalf("Coverage: %v", err) } cmd := exec.Command("go", "tool", "cover", "-html=coverage.out") cmd.Run()</code>
以上是如何從 Go 二進位檔案的整合測試中取得程式碼覆蓋率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!