[英]How to obtain aggregated coverage per subpackage from pytest-cov?
我在大型代码库上将 pytest 与pytest-cov插件结合使用。 总的来说,我知道各种 output 报告生成器和 html output 在分析单个文件的覆盖率信息时提供了很大的价值,即在查看单个文件时,尤其是它们的行覆盖率时。
我还知道 pytest 报告的“总”覆盖率,这当然是在整个项目中汇总的。
当我还没有弄清楚如何在总计和文件级别之间获取覆盖信息时。 假设顶级 package 名称是foo
,它包含数千个文件,这些文件被结构化为各种(有时是深度嵌套的)子包。 在开发某个子包时说foo.bar.baz
(它本身可能有大约数百个文件),如果我能获得专门针对foo.bar.baz
的覆盖范围,那将非常有用。 不幸的是,“文件级别”报告在这种情况下无济于事,因为在精神上汇总foo.bar.baz
中的所有文件几乎是不可能的。
有没有一种简单的方法来获得每个子包的覆盖范围?
您可以获取 JSON 形式的数据(使用coverage json
),然后自己进行后处理。 coverage.py 没有办法做到这一点。
这样做的一个例子是goals.py ,它提供了对文件子集的限制和检查。 也许它可以帮助你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.