在python中使用pytest coverage和codecov.io

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在python中使用pytest coverage和codecov.io相关的知识,希望对你有一定的参考价值。

[当我运行pytest --cov时,覆盖率约为60%。将代码推送到github后,在codecov.io上生成的报告显示100%。我不明白两者有何不同,我以为正在运行同一命令。

Codecov.io显示

Files       •   •   •   Coverage
 __init__.py    2   2   0   0   100.00%
 c_wrapper.py   5   5   0   0   100.00%
 fibonacci.py   13  13  0   0   100.00%
 tests/test_fibonnaci.py    39  39  0   0   100.00%
Folder Totals (4 files) 59  59  0   0   100.00%
Project Totals (4 files)    59  59  0   0   100.00%

但正在运行

pytest --cov=fibonacci fibonacci/tests

显示

----------- coverage: platform linux, python 3.7.4-final-0 -----------
Name                                Stmts   Miss Branch BrPart  Cover
---------------------------------------------------------------------
fibonacci/__init__.py                   2      2      0      0     0%
fibonacci/c_wrapper.py                  5      5      0      0     0%
fibonacci/fibonacci.py                 13     13      6      0     0%
fibonacci/tests/test_fibonnaci.py      39      0      0      0   100%
---------------------------------------------------------------------
TOTAL                                  59     20      6      0    60%

区别在哪里,正确吗?

答案

似乎(出于某种原因,我不明白,但我想)在跑步之间有区别

pytest --cov=fibonacci fibonacci/tests

python -m pytest --cov=fibonacci fibonacci/tests

稍后进行显示将覆盖全部内容

以上是关于在python中使用pytest coverage和codecov.io的主要内容,如果未能解决你的问题,请参考以下文章

通过 pytest 使用多进程处理时如何测量覆盖率?

如何检查控制台中的笑话覆盖率?

在 Python coverage.py API 中使用省略标志

Pydev 的覆盖率测试python coverage以及其他使用

使用coverage工具统计python单元测试覆盖率

python coverage 使用技巧