我继承了一个非常大、非常古老的 golang 代码库。我正在尝试获取覆盖率统计信息,并且大多数测试都在跨包进行测试。
如果我运行go test ./...
测试通过。
如果我运行go test -coverpkg=./... ./...
,则测试失败,因为所有init()
功能都在测试期间执行。(它在一堆甚至没有测试的 cobra cmd 中失败了)。init()
导致测试失败的行为。
有没有办法让 init() 在收集覆盖率时不会发生,就像正常的测试运行一样?
我继承了一个非常大、非常古老的 golang 代码库。我正在尝试获取覆盖率统计信息,并且大多数测试都在跨包进行测试。
如果我运行go test ./...
测试通过。
如果我运行go test -coverpkg=./... ./...
,则测试失败,因为所有init()
功能都在测试期间执行。(它在一堆甚至没有测试的 cobra cmd 中失败了)。init()
导致测试失败的行为。
有没有办法让 init() 在收集覆盖率时不会发生,就像正常的测试运行一样?