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



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

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

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

Coverage.py并不关心您是否在运行测试。您可以使用它来运行任何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报告数据