登录
首页 >  Golang >  Go问答

如何从 go test -cover 获取总体覆盖率值?

来源:stackoverflow

时间:2024-04-25 13:27:37 116浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《如何从 go test -cover 获取总体覆盖率值?》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

问题内容

使用go test-cover选项,例如

go test ./... -covermode=atomic -coverprofile coverage.out

coverage.out 包含每个文件的大量输出,但我想要一个整体覆盖率的数字(可用于通过/失败覆盖率)。

我在本文中找到了一个合理的(尽管是错误的!)脚本解决方案:

cat coverage.out | \
awk 'BEGIN {cov=0; stat=0;} \
    $3!="" { cov+=($3==1?$2:0); stat+=$2; } \
    END {printf("Total coverage: %.2f%% of statements\n", (cov/stat)*100);}'

但是有没有一种非脚本的 go 方法可以做到这一点?


正确答案


为此,我们使用 gotestsum。它是 go test 的替代品,具有附加功能,例如以 JUnit XML 格式输出。

https://github.com/gotestyourself/gotestsum

使用这样的第三方工具的缺点是,您的开发人员和 CI 需要安装它。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>