我刚刚开始为我使用 unittest
和 coverage
的 python 项目编写一些单元测试。我目前只测试了一小部分,但我正在尝试计算代码覆盖率
我运行我的测试并使用以下方法获得覆盖
python -m unittest discover -s tests/
coverage run -m unittest discover -s tests/
coverage report -m
我遇到的问题是 coverage
告诉我有 44% 的代码覆盖率并且只计算以下文件:
在单元测试中进行了测试(即,所有未测试的文件都丢失了,并且不在整体覆盖范围内)
在虚拟环境中的库中,以及实际测试的代码覆盖率。当然不应该在结果中包括实际测试?
此外,它说在这些单元测试中实际测试的文件只测试了前几行(在大多数情况下是导入语句)
我如何获得更真实的代码覆盖率,或者这就是它的本意?
原文由 user4591756 发布,翻译遵循 CC BY-SA 4.0 许可协议
将
--source=.
添加到coverage
运行行。它会将焦点限制在当前目录,并将搜索.py
根本没有运行的文件。