我正在为我们的go应用程序开发CI(TFS2015),我想确保代码质量。例如,当go应用程序的代码覆盖率较低(低于60%)时,CI将无法构建进程。现在我可以使用“go test -coverprofile = cover.out”命令成功获取代码覆盖率值,但我不知道如何提取此值,以便可以在其他地方使用它,例如PowerShell脚本。我试图读取cover.out文件,但它没有覆盖结果。
答案 0 :(得分:2)
我可以直接猜到的愚蠢和直截了当的方式:
go test -cover -json
,另一种方式:
使用go tool cover -func=cover.out
你可以得到漂亮而简洁的文字:
fmt/format.go: init 100.0%
fmt/format.go: clearflags 100.0%
fmt/format.go: init 100.0%
fmt/format.go: computePadding 84.6%
fmt/format.go: writePadding 100.0%
fmt/format.go: pad 100.0%
...
fmt/scan.go: advance 96.2%
fmt/scan.go: doScanf 96.8%
total: (statements) 91.7%
解析它很简单,例如:https://play.golang.org/p/bgYW7NZKu_S。