跳转到主要内容

提供合理默认设置的覆盖率插件

项目描述

build status pre-commit.ci status

covdefaults

提供合理默认设置的覆盖率插件

安装

pip install covdefaults

使用

要启用插件,将covdefaults添加到您的覆盖率插件中

.coveragerc

[run]
plugins = covdefaults

setup.cfg / tox.ini

[coverage:run]
plugins = covdefaults

pyproject.toml

[tool.coverage.run]
plugins = ["covdefaults"]

默认设置

[coverage:run]

branch = True
source = .
omit =
    */__main__.py
    */setup.py

[coverage:report]

show_missing = True
skip_covered = True
fail_under = 100
exclude_lines =
    # a more strict default pragma
    \# pragma: no cover\b

    # allow defensive code
    ^\s*raise AssertionError\b
    ^\s*raise NotImplementedError\b
    ^\s*return NotImplemented\b
    ^\s*raise$

    # typing-related code
    ^\s*if (False|TYPE_CHECKING):
    : \.\.\.(\s*#.*)?$
    ^ +\.\.\.$
    -> ['"]?NoReturn['"]?:

    # non-runnable code
    if __name__ == ['"]__main__['"]:$

    # additional platform related pragmas (see below)
    # additional version related pragmas (see below)
partial_branches =
    # a more strict default pragma
    \# pragma: no cover\b

    # out platform pragmas
    \# pragma: (nt|posix|cygwin|darwin|linux|msys|win32|cpython|pypy) (no )?cover\b

    # our version pragmas
    \# pragma: (>=?|<=?|==|!=)\d+\.\d+ cover\b

平台特定的# pragma: no cover

将根据平台和实现自动添加多个# pragma: no cover标签。

这些标签的形式将是

# pragma: TAG no cover

# pragma: TAG cover

这些标签将由以下值生成

  • os.name
    • nt(Windows)
    • posix(Linux,macOs,cygwin等)
  • sys.platform
    • cygwin
    • darwin(macOs)
    • linux
    • msys
    • win32
  • sys.implementation.name
    • cpython
    • pypy

对于每个不匹配的标签,您可以使用否定。以下是一个示例

if sys.platform == 'win32':  # pragma: win32 cover
    bin_dir = 'Scripts'
else:  # pragma: win32 no cover
    bin_dir = 'bin'

注意,# pragma: win32 cover将变为除了win32之外的所有内容的“不覆盖”--而# pragma: win32 no cover只会在win32上执行“不覆盖”。

特定版本的# pragma: no cover

将根据平台和实现自动添加多个# pragma: no cover标签。

这些标签的形式将是

# pragma: >=#.# cover

其中比较运算符是>>=<<===!=之一

例如

if sys.version_info >= (3, 9):  # pragma: >=3.9 cover
    print('3.9+')
else:  # pragma: <3.9 cover
    print('old')

覆盖选项

在您的覆盖率配置中可以覆盖/扩展一些选项。以下示例假设.coveragerc,但任何coverage支持的文件都可以。

run:omit

[run]
omit =
    pre_commit/resources/*

这将导致除了由covdefaults提供的默认设置外,pre_commit/resources/*还将被omit

[covdefaults]
subtract_omit = */__main__.py

这将导致不omit*/__main__.py*/__main__.pycovdefaults提供的默认设置之一)。

run:source

[run]
source = $PWD

如果手动设置,covdefaults 不会将此值覆盖为 .

报告:排除行

[report]
exclude_lines =
    ^if MYPY:$

这将导致匹配 ^if MYPY:$ 的行除了 covdefaults 提供的默认值外,还将从覆盖率中排除。

报告:失败下限

[report]
fail_under = 90

如果您为 fail_under 提供了值,covdefaults 不会更改该值。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

covdefaults-2.3.0.tar.gz (4.8 kB 查看哈希)

上传时间

构建分布

covdefaults-2.3.0-py2.py3-none-any.whl (5.1 kB 查看哈希)

上传时间 Python 2 Python 3

由以下支持