python - 使用 Py.Test 测量特定文件的单元测试覆盖率

标签 python code-coverage pytest

我正在尝试使用 Py.Test 检索我的单元测试的覆盖范围。问题是我还得到了我不关心的其他 python 文件的覆盖信息。

这是我的文件结构的示例。在这种情况下,我想测试:car.py、wheel.py 和 steer.py

python2.7/site-packages/

  • 汽车.py
  • 车轮.py
  • 转向.py
  • coverage.py(来自 pypi.python.org)
  • yaml(python yaml 库,来自 pypi.python.org)
  • pytest-2.5.2-py2.7.egg(python py.test 库)
  • 还有更多

python2.7/site-packages/test/

  • test_car.py
  • conftest.py

现在我使用 Py.Test 来执行测试:

python -m pytest --cov python2.7/site-packages/ python2.7/site-packages/test/test_car.py

但这会导致覆盖站点包中的所有 python 文件(有点明显)。

python -m pytest --cov python2.7/site-packages/car.py python2.7/site-packages/test/test_car.py

这只会覆盖 car.py 而不是我想要的所有文件。

如何使用 Py.Test 仅测量特定文件的覆盖率?

(我也试过:

python -m pytest --cov python2.7/site-packages/car.py,python2.7/site-packages/wheel.py python2.7/site-packages/test/test_car.py

但是 Py.Test 不知道如何解析和使用这个参数。 )

最佳答案

我找到了解决方案。您可以提供多个 --cov file 参数。

python -m pytest \
  --cov python2.7/site-packages/car.py \
  --cov python2.7/site-packages/wheel.py \
  --cov python2.7/site-packages/steer.py \
  python2.7/site-packages/test/test_car.py

关于python - 使用 Py.Test 测量特定文件的单元测试覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22806246/

相关文章:

python - 替换数据框行中的标记

php - 在 PHP 中收集远程代码覆盖率

php - PHPUnit 代码覆盖率如何忽略我的自动加载器?

python - 从 pytest fixture 中产生的调用函数

python - 为什么我的当前目录没有出现在 Windows 上使用 pytest 的路径中?

python - 如何检查是否使用预期对象调用方法

python - 合并重叠区间

使用字典和函数的 Python 代码

python - Django i18n setlang 不更改 session 数据 django_language

java - 三叶草3.1.7不支持Java 7 Diamond