如何确保我的大Python proej有良好的测试覆盖率

2024-05-13 23:59:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个非常大的python项目和一个非常大的测试套件。最近我们决定量化测试覆盖的质量。在

我正在寻找一个工具来自动生成测试覆盖率报告。理想情况下,我希望有吸引力的,易于阅读的报告,但我会满足于不太有吸引力的报告,如果我可以使它迅速工作。在

我尝试过Nose,但还不够好:它与distribute/setuptools的命名空间包特性不兼容。不幸的是鼻子覆盖永远不会为我们工作,因为我们充分利用了这一功能。这真是一个耻辱,因为鼻子在哈德逊似乎工作得很好(主要是)

另一种选择是,我听说在Eclipse中有一种方法可以进行Python覆盖率分析,但是我还没有完全锁定完美的技术。在

欢迎有任何建议!在

仅供参考我们在32位Windows XP上使用Python2.4.4


Tags: 工具项目套件报告质量覆盖率情况命名
2条回答

你试过使用coverage.py吗?它是“鼻子覆盖”的基础,但如果你需要的话,可以在鼻子外面很好地使用。在

如果您使用python run_my_tests.py运行测试,那么可以使用coverage run run_my_tests.py来测量覆盖率,然后使用coverage html获得HTML报告。在

从你的描述来看,我不知道你的鼻子有什么问题,尤其是鼻子的问题,还是覆盖率.py问题。再提供一些细节,我相信我们能搞定的。在

内德已经提到了他的优秀覆盖率.py模块。在

如果您遇到的问题是鼻子特有的,您可能需要考虑使用另一个测试运行程序。我使用了py.testpytest_coverage插件来生成覆盖率统计信息。它还有一个pytest_nose插件来帮助您迁移。在

不过,我不明白你面临的问题到底是什么。您能详细介绍一下您提到的“distribute/setuptools的命名空间包特性”吗?我很想知道问题出在哪里。在

相关问题 更多 >