当我在本地和 GitHub Actions CI 中执行此操作时,为什么会得到不同的覆盖率结果?
结果如下:
- 本地:
pytest tests/test.py --cov=./snmp_collector --cov-report=xml --cov-report=term-missing
================================== test session starts ===================================
platform linux -- Python 3.9.10, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /home/benyamin/PycharmProjects/snmp-manager
plugins: timeout-2.1.0, celery-4.4.7, cov-3.0.0
collected 2 items
tests/test.py .. [100%]
---------- coverage: platform linux, python 3.9.10-final-0 -----------
Name Stmts Miss Cover Missing
------------------------------------------------------------------------------
snmp_collector/__init__.py 4 0 100%
snmp_collector/__main__.py 8 8 0% 3-13
snmp_collector/collect/__init__.py 0 0 100%
snmp_collector/collect/collector.py 89 25 72% 12-13, 37-39, 81-84, 87-92, 100-105, 121-133, 140, 153
snmp_collector/event_loop.py 135 55 59% 18-21, 44-50, 84-85, 116, 127-129, 136-139, 148-156, 166-178, 196-197, 204, 207-209, 215-220, 224-236, 240
snmp_collector/read_conf/__init__.py 0 0 100%
snmp_collector/read_conf/read_configuration.py 69 17 75% 10-11, 56-57, 84, 86, 88, 90, 92, 95-98, 107-108, 115-118
snmp_collector/response/__init__.py 0 0 100%
snmp_collector/response/response.py 18 1 94% 31
snmp_collector/utility/__init__.py 0 0 100%
snmp_collector/utility/utility.py 58 31 47% 24, 26, 29-36, 50, 54-61, 64-85
------------------------------------------------------------------------------
TOTAL 381 137 64%
- 在 GitHub 操作中:
Run pytest tests/test.py --cov=./snmp_collector --cov-report=xml --cov-report=term-missing
============================= test session starts ==============================
platform linux -- Python 3.9.10, pytest-6.2.0, py-1.11.0, pluggy-0.13.1
rootdir: /home/runner/work/snmp-manager/snmp-manager
plugins: cov-3.0.0
collected 2 items
tests/test.py ..
---------- coverage: platform linux, python 3.9.10-final-0 -----------
Name Stmts Miss Cover Missing
------------------------------------------------------------------------------
snmp_collector/__init__.py 4 0 100%
snmp_collector/__main__.py 8 8 0% 3-13
snmp_collector/collect/__init__.py 0 0 100%
snmp_collector/collect/collector.py 89 44 51% 12-13, 29-39, 86-133, 140, 153
snmp_collector/event_loop.py 135 55 59% 18-21, 44-50, 84-85, 116, 127-129, 136-139, 148-156, 166-178, 196-197, 204, 207-209, 215-220, 224-236, 240
snmp_collector/read_conf/__init__.py 0 0 100%
snmp_collector/read_conf/read_configuration.py 69 17 75% 10-11, 56-57, 84, 86, 88, 90, 92, 95-98, 107-108, 115-118
snmp_collector/response/__init__.py 0 0 100%
snmp_collector/response/response.py 18 1 94% 29
snmp_collector/utility/__init__.py 0 0 100%
snmp_collector/utility/utility.py 58 31 47% 24, 26, 29-36, 50, 54-61, 64-85
------------------------------------------------------------------------------
TOTAL 381 156 59%
显然,主要区别与snmp_collector/collect/collector.py
文件有关。
还有这里的repo。