如何从setup.py生成coverage

时间:2014-02-24 15:21:03

标签: python code-coverage

我有一个setup.py,它通过常见的test_suite: "tests"设置运行测试。从这里获得报道的最佳方式是什么?我想通过覆盖工具运行setup.py,它的覆盖率报告中会包含setup.py吗?

我的测试/ init .py中有一个load_tests挂钩,我认为这是启用覆盖的好地方,但即使这样太早,因为它会在测试之前开始覆盖。然后是setUpClass函数,但这将涉及修改每个单独的测试以包含另一个模块来启动和停止此处的覆盖。这一切看起来都很笨重。

2 个答案:

答案 0 :(得分:9)

这将报告您所需模块的覆盖范围,假设您有一个Python模块“my_module”,其中包含所有.py个文件及其他模块:

coverage run --source=my_module/ setup.py test

答案 1 :(得分:2)

只需要在报告生成时应用过滤器,而不是像Bullseye那样在运行时应用:

coverage run ./setup.py test
coverage html --include=libgsync/\*