【发布时间】:2018-05-16 03:36:16
【问题描述】:
我的问题很简单,但答案仍然难以捉摸。假设我有一个包裹
package mypackage
func DoTheThing() int {
return 5
}
现在假设我在 mypackage_test 包中使用了一个测试
package mypackage_test
import "testing"
import . "mypackage"
func TestDoTheThing(t *testing.T) {
if DoTheThing() != 5 {
t.Error("there was a problem")
}
}
现在我想知道包mypackage的代码覆盖率。
$ go test -cover
PASS
coverage: 0.0% of statements
ok /my/path/mypackage 0.002s
应该是 100%。我也试过了
$ go test -v -cover -coverpkg ./... ./...
=== RUN TestDoTheThing
--- PASS: TestDoTheThing (0.00s)
PASS
coverage: 0.0% of statements in ./...
ok /my/path/mypackage 0.002s coverage: 0.0% of statements in ./...
我不可能将测试包含在mypackage 中,因此我需要知道mypackage 在此设置中的代码覆盖率。
感谢您的宝贵时间。
【问题讨论】: