是否有特定于 python 版本的“#pragma nocover”可用于 python 覆盖工具?

bow*_*owe 2 python coverage.py

使用 pythoncoverage.py,我想做类似的事情:

if six.PY3:
    from functools import lru_cache
else:
    from .lru_cache_local imoprt lru_cache
Run Code Online (Sandbox Code Playgroud)

然后,使用 tox,不将我的 python2 特定代码计入我的覆盖率报告......有没有类似的东西

# pragma: nocover_py2

# pragma: nocover_py3
Run Code Online (Sandbox Code Playgroud)

可用的?

谢谢!

Ned*_*der 5

.coveragerc 文件将扩展环境变量,因此您可以执行以下操作:

[report]
exclude_lines =
    pragma: no cover
    pragma: nocover_${PRAGMA_VERSION}
Run Code Online (Sandbox Code Playgroud)

然后像这样运行coverage.py:

PRAGMA_VERSION=py2 coverage report 
Run Code Online (Sandbox Code Playgroud)