跳转到主要内容

为Vim脚本生成覆盖率信息。

项目描述

covimerage

为Vim脚本生成代码覆盖率信息。

它解析Vim的:profile命令的输出,并生成与Coverage.py兼容的数据。

Build Status codecov Codacy Badge

安装

您可以使用pip安装covimerage

pip install covimerage

简单用法

您可以使用covimerage run来包装对Neovim/Vim的调用,包括必要的样板代码

covimerage run vim -Nu test/vimrc -c 'Vader! test/**'

这将默认写入文件.coverage_covimerage(使用--data-file进行配置),它与Coverage.py兼容。报告将自动生成(在stdout中)。

然后您可以调用covimerage xml来创建一个coverage.xml文件(Cobertura兼容),该文件可以被如Codecovcodecov工具消费,例如通过codecov -f coverage.xml

手动/高级用法

1. 为您的Vim脚本生成配置文件信息

您基本上需要在您的测试vimrc中添加以下内容

profile start /tmp/vim-profile.txt
profile! file ./*

这将使Neovim/Vim写入包含配置文件信息的文件。

2. 在输出文件上调用covimerage

covimerage write_coverage /tmp/vim-profile.txt

这将创建一个文件.coverage_covimerage(默认为--data-file),其中包含标记供Coverage.py插件(由covimerage提供)处理的条目。

3. 在.coveragerc中包含covimerage插件

当使用coverage对生成的输出(数据文件)进行处理时,您需要将covimerage插件添加到.coveragerc文件(Coverage.py使用的文件)。这基本上就是您需要的所有.coveragerc,但您也可以在这里使用其他设置(针对Coverage.py),例如忽略某些文件

[run]
plugins = covimerage
data_file = .coverage_covimerage

4. 创建报告

现在您可以使用例如 coverage report -m 这样的命令,并且应该能够使用像 https://codecov.io/https://coveralls.io 这样的覆盖率报告平台,它们基本上使用 coverage xml

参考实现

注意事项

如果测试后函数被重新定义,函数的覆盖率信息可能会被清除。这是一个已知限制,它不依赖于 covimerage 的实现,而是依赖于 vim 分析器本身,因为用于提取覆盖率信息的函数分析数据,在函数被重新定义时会被重置,即使定义相同。

如果出于某些原因(例如在模拟某个函数时)在测试之间重新加载了用于检查覆盖率的源文件,这可能会成为一个问题。为了防止覆盖率信息丢失,一种解决方案是将此类测试写入一个单独运行的测试套件,并使用 covimerage run --append 合并覆盖率结果。

链接

待办事项

项目详情


下载文件

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

源分布

covimerage-0.2.2.tar.gz (37.4 kB 查看散列

上传时间

构建分布

covimerage-0.2.2-py2.py3-none-any.whl (17.0 kB 查看散列

上传时间 Python 2 Python 3

由以下支持