亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

集成測試中的golang代碼覆蓋率?

集成測試中的golang代碼覆蓋率?

Go
慕桂英546537 2021-09-13 10:17:57
似乎“go tool cover -var=foo”的重點可能是生成可以部署在集成測試工具中的檢測代碼。是否有人為此目的使用此功能?如果是這樣,是否有定期轉儲計數器的常規方法?似乎棘手的部分是以幾乎同時的方式在所有感興趣的文件中執行此操作。即便如此,一些偏差(如果使用 -mode=count)也是不可避免的。
查看完整描述

1 回答

?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

我們使用它從各種測試中收集代碼覆蓋率,以獲得跨測試的單一代碼覆蓋率數字,并查看未覆蓋的代碼路徑 * 模塊測試 * 集成測試 * UI 測試 * API 測試 * 單元測試

實現這一目標的方法是

  • 構建啟用覆蓋的檢測二進制文件 (app.debug)。下面的命令生成一個啟用了覆蓋檢測的 app.debug

    $ go test -c -covermode=atomic -coverpkg="pkg/path/..." -o app.debug
  • 在測試中使用此 app.debug 而不是您的應用程序并針對它運行測試。我們是一個 HTTP 服務器,但這應該適用于大多數應用程序。每個測試都會生成一個單獨的 cov 文件,稍后需要合并該文件。

    $ ./app.debug -test.coverprofile=functest.cov -- app.params
  • 合并所有測試 cov 文件以獲得單個 cov 文件。為此,您可以使用gocovmerge

    $ find $COVERAGE_DIR -name *.cov | xargs gocovmerge > final.cov

你終于有了一個覆蓋文件,它可以讓你完整地了解各種覆蓋范圍的代碼覆蓋情況。


查看完整回答
反對 回復 2021-09-13
  • 1 回答
  • 0 關注
  • 236 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號