如何覆盖 GOLANG 中的多个文件
How to get coverage for multiple files in GOLANG
我在 GO-LANG 中有一个包,其中有几个实现它的文件。 (所有文件都在同一个目录)
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()
}
我这样做是为了获得报道:
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
当我打开 html 时,我只覆盖 f1()。
调用了f2(我在调试中验证过),f2的运行在文本中表示,但在html文件中没有。
感谢任何帮助。
只是重申我评论中的内容
所以在测试之后我也有同样的想法,但是当我点击下拉菜单并切换到 mypackage_adding.go 时,f2() 被覆盖了。它只是在不同的文件中。只需更改 HTML 页面下拉列表中的文件即可。
我在 GO-LANG 中有一个包,其中有几个实现它的文件。 (所有文件都在同一个目录)
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()
}
我这样做是为了获得报道:
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
当我打开 html 时,我只覆盖 f1()。
调用了f2(我在调试中验证过),f2的运行在文本中表示,但在html文件中没有。
感谢任何帮助。
只是重申我评论中的内容
所以在测试之后我也有同样的想法,但是当我点击下拉菜单并切换到 mypackage_adding.go 时,f2() 被覆盖了。它只是在不同的文件中。只需更改 HTML 页面下拉列表中的文件即可。