登录
首页 >  Golang >  Go问答

跨包测试覆盖率

来源:stackoverflow

时间:2024-02-18 19:18:25 171浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《跨包测试覆盖率》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我一直在编写一个休息服务,我有以下结构

/controllers
/domain/dao
/services

在为每个单独的包编写大量测试并为每个阶段进行模拟之后,我认为针对控制器编写测试并模拟数据库会更快,因此我知道 /domain/dao 层正在被已调用。

我现在的问题是,当我运行代码覆盖率时,即使我知道正在调用代码,我也无法获得 /service 或 /domain/dao 的覆盖率

关于如何获得所有文件的代码覆盖率有什么想法吗?


解决方案


您可以尝试标志 -coverpkg

go test --cover -coverpkg=./services  ./... -coverprofile=cover.out

要检查 /services 文件夹中的所有包,您可以尝试:

go test --cover -coverpkg=./services/...  ./... -coverprofile=cover.out

只是一个旁注 - 我通常添加 -covermode=count

go test --cover -covermode=count -coverpkg=./services/...  ./... -coverprofile=cover.out

然后,您可以使用go工具将其视为html:

go tool cover -html=cover.out

以上就是《跨包测试覆盖率》的详细内容,更多关于的资料请关注golang学习网公众号!

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