假设在包pkg/somepkg1
下定义了一些代码。而且这个包里有一些测试,还有一些测试在tests/integration
包里。
如果我打电话
go test -cover -coverprofile=cover.out ./...
字符串
我已经运行了所有的测试(包括integration
),但是在cover.out
中没有覆盖信息-只有somepkg1
的覆盖!例如78%
如果我打电话
go test -cover -coverpkg=./pkg/somepackage1 -coverprofile=cover.out ./...
型
我已经得到了我想要的东西-我看到所有的代码覆盖率都是一些包,无论是来自它的包还是来自integration
。例如85%。
因此,如果要检查./pkg
中的所有软件包,我为所有软件包调用相同的代码,然后将答案合并到一个批次中。这需要很长的时间,对CI不利
对我来说一点也不一致。我知道童话单元测试比覆盖其他模块和集成测试更好,但它使用起来并不友好。
有没有办法覆盖所有的测试,而不需要对每个包调用这样的代码片段?
2条答案
按热度按时间smdnsysy1#
用于不加区别地测试所有包:
字符串
对于所有软件包,您可以添加覆盖范围为:
型
在特定包中进行测试将是:
型
bvjxkvbb2#
解决了!
字符串
在这种情况下-它做正是我想要的,它不一样
型
如果您想测试一组软件包,可以使用
型
有逗号没有空格