在不检查每个导入模块的情况下测量 python 代码覆盖率的最佳方法

Best way to measure code coverage for python without checking every imported module

我正在尝试将代码覆盖率集成到我们的开发管道中,我们很难使用 nosetest 来准确估计我们的代码覆盖率,因为它还会检查覆盖率我们 python 包中的每个导入库。所以我们最终得到了诸如 import os 之类的代码覆盖率百分比,这不允许我们真正看到我们想要的数据。

我研究过使用 coverage.py,但那还处于非常早期的阶段。

我想问问有没有人遇到过这个问题,他们是如何克服的。

提前致谢!

Nosetests 有一个选项可以只生成命名包的覆盖范围,例如

--cover-package=foo --cover-package=bar

这就是我过去所做的。

不过,我搬到了pytest。我更喜欢这个,因为它产生了更好的错误消息,包括字典差异。