测量单位使用Py.Test测试特定文件的覆盖范围

时间:2014-04-02 08:55:32

标签: python code-coverage pytest

我试图通过Py.Test检索我的单元测试的覆盖范围。问题是我还得到了关于其他我不关心的python文件的覆盖信息。

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

python2.7 /站点包/

  • car.py
  • wheel.py
  • steer.py
  • coverage.py(来自pypi.python.org)
  • yaml(python yaml库,来自pypi.python.org)
  • pytest-2.5.2-py2.7.egg(python py.test库)
  • 以及更多

python2.7 /站点包/测试/

  • 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并不知道如何解析和使用这个论点。 )

1 个答案:

答案 0 :(得分:7)

我找到了解决方案。您可以提供多个--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