dongtanliefang8765 2018-08-01 00:24
浏览 130
已采纳

如何在GOLANG中覆盖多个文件

I have a package in GO-LANG that has several files implementing it. (all files are in the same directory)

file1: mypackage.go
package mypackage
func f1 () {}

file2: mypackage_addition.go
package mypackage
func f2 () {}

file3: mypackage_test.go
package mypackage
import "testing"
func TestF1 (t *testing.T) { 
    f1()
}

file4: mypackageAddition_test.go
package mypackage
import "testing"
func TestF2 (t *testing.T) { 
    f2()
}

I do this in order to get coverage:

mypackage> $ tree
.
├── mypackage.go
├── mypackageAddition_test.go
├── mypackageAdditions.go
└── mypackage_test.go

0 directories, 4 files
mypackage> $ go test -v -coverprofile cover.out ./...
=== RUN   TestF2
--- PASS: TestF2 (0.00s)
=== RUN   TestF1
--- PASS: TestF1 (0.00s)
PASS
coverage: 0.0% of statements
ok      github.com/MyDevelopment/mypackage  0.701s  coverage: 0.0% of statements
mypackage> $ go tool cover -html=cover.out -o cover.html
mypackage> $ open cover.html 

enter image description here enter image description here

When I open the html, I only get coverage for f1().
f2 is called (I verified it in debug), and the run of f2 is represented in the text, but not in the html file.

Any help is appreciated.

  • 写回答

1条回答 默认 最新

  • dqwh1203 2018-08-03 15:11
    关注

    Just reiterating what is in my comment

    So after testing this I thought the same thing but it is looking like when I hit the dropdown and switch to mypackage_adding.go, f2() is covered. It is just in a different file. Just change the file in the dropdown in the HTML page.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿