Cha*_*ant 1 testing code-coverage go
我一直在写一个休息服务我有以下结构
/controllers
/domain/dao
/services
Run Code Online (Sandbox Code Playgroud)
在为每个单独的包编写大量测试并为每个阶段进行模拟之后,我认为针对控制器编写测试并模拟数据库会更快,因此我知道 /domain/dao 层正在被调用。
我现在的问题是,当我运行代码覆盖率时,即使我知道代码正在被调用,我也没有获得 /service 或 /domain/dao 的覆盖率
关于如何获得所有文件的代码覆盖率有什么想法吗?
你可以试试旗帜-coverpkg
go test --cover -coverpkg=./services ./... -coverprofile=cover.out
Run Code Online (Sandbox Code Playgroud)
要检查文件夹 /services 中的所有包,您可以尝试:
go test --cover -coverpkg=./services/... ./... -coverprofile=cover.out
Run Code Online (Sandbox Code Playgroud)
只是一个旁注 - 我通常会添加-covermode=count
go test --cover -covermode=count -coverpkg=./services/... ./... -coverprofile=cover.out
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用 go 工具将其视为 html:
go tool cover -html=cover.out
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3322 次 |
| 最近记录: |