如何测量 python 的非测试 运行 的覆盖率

How to measure coverage of a non-test run of python

我在 python 中有一个定制的集成测试套件,从技术上讲,它只是 python my_script.py --config=config.json 的 运行。我想比较使用不同的配置会激活我的项目中的多少行代码。

my_script.py 的具体内容不相关 - 它是一个启动点,解析配置,然后导入和调用 ./src 文件夹中多个文件中定义的函数。

我知道在 pytest 中测量覆盖率的工具,例如coverage.py;然而,有没有办法衡量非测试 python 运行 的覆盖率?

Coverage.py 不关心你是否在 运行ning 测试。您可以将它用于 运行 任何 Python 程序。只需将 python 替换为 python -m coverage run

由于您常用的命令行是:

python my_script.py --config=config.json

试试这个:

python -m coverage run my_script.py --config=config.json

然后用coverage report -mcoverage html

报告数据