gpt4 book ai didi

testing - Golang 测试覆盖率与黑盒 _test 覆盖率

转载 作者:数据小太阳 更新时间:2023-10-29 03:42:44 30 4
gpt4 key购买 nike

我的问题很简单,但答案仍然难以捉摸。假设我有一个包裹

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 的代码覆盖率。

感谢您的宝贵时间。

最佳答案

经过多次键盘混搭后,我发现这与我正在将我的项目目录模拟链接到 $GOPATH/src/ 这一事实有关。

将项目复制到 $GOPATH/src/mypackage 并正确运行 go test -cover 返回 100% 的覆盖率。

关于testing - Golang 测试覆盖率与黑盒 _test 覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50362114/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com