创建覆盖报告的单个命令(假设有bin/test)
项目描述
Createcoverage
此软件包安装了一个命令:createcoverage,它使用coverage.py运行您的测试并在浏览器中打开覆盖率报告。只需一个简单的命令即可完成所有操作。
假设:您正在使用buildout。或者,假设您有一个bin/test命令可以运行所有测试。
没有将选项传递给coverage.py,因此您想提供给coverage的任何额外选项都必须放在buildout根目录下的.coveragerc中。这始终是一个好主意 :-) 以下是一个排除您通常不想包括在覆盖率报告中的代码的示例.coveragerc文件
[report] omit = /home/*/.buildout/eggs/* /usr/* parts/* eggs/* */test*
在zc.recipe.egg部分中安装createcoverage就足够了。createcoverage本身依赖于coverage.py并确保创建bin/coverage
[console_scripts] recipe = zc.recipe.egg eggs = createcoverage
代码、错误、想法
代码托管在github上:https://github.com/reinout/createcoverage
您也可以在那里报告问题和错误以及想法。当然,拉取请求也非常欢迎 :-)
开发安装
第一次,您需要运行“bootstrap”脚本来设置setuptools和buildout。
$ python bootstrap.py
然后运行buildout来设置所有内容。
$ bin/buildout
(在Windows上,它被称为bin\buildout.exe)。
当您或其他人更改了setup.py或buildout.cfg时,您需要重新运行buildout。
当前的包被安装为“开发包”,因此.py文件中的更改将自动可用(就像使用python setup.py develop一样)。
可以使用bin/test或bin\test.exe运行测试。
致谢
由Reinout van Rees创建。
createcoverage的变更日志
1.5 (2016-02-02)
修复了bin/coverage脚本(它指向了一个旧的入口点)。请注意,此脚本之所以包含在内,是因为buildout最初没有安装依赖项的脚本。现在它确实安装了,并且配置正确。但是,自行安装此脚本可以解决所有问题。
1.4.1 (2015-11-11)
提高了覆盖率要求(到3.7)。Coveralls.io的库需要3.6,这使得确保有足够的最新版本变得更容易。
1.4 (2015-09-17)
注意:本版本没有功能上的变化。
迁移到github:https://github.com/reinout/createcoverage。
(在setup.py分类器中)注明,我们与python 3兼容!
设置了travis测试和coveralls.io集成。当然,100%覆盖率 :-)
1.3.2 (2014-12-09)
包装修复。与1.3相比,在功能上没有变化。
1.3.1 (2014-12-09)
进行了一些内部清理,并对pypi元数据进行了小修复。
1.3 (2014-12-09)
添加了-t/--test-args命令行选项。传递给该字符串的内容将直接传递给测试运行器。例如,使用-t "-m somemodule"实际上运行bin/test -m somemodule。注意需要引号(单引号或双引号),因为您正在使用选项传递选项……由Godefroid Chapelle修复,谢谢!
1.2 (2012-06-28)
修复了在OS X上使用Python 2.7或更高版本打开覆盖率index.html文件的问题,通过使用文件URL而不是路径。
1.1 (2011-04-19)
在打开web浏览器之前,将覆盖率索引.html文件的路径设置为绝对路径。这防止了OSX抱怨它不是一个URL。
1.0 (2010-12-20)
添加了指定输出目录的选项(“-d”)。指定它还将确保结果不会在web浏览器中打开(因为选项是为了离线操作和自动生成文档的目的而设计的)。
0.4 (2010-10-05)
如果没有在bin/coverage中找到,则回退到全局“coverage”二进制文件。
0.3 (2010-09-20)
添加了缺失的MANIFEST.in文件,这样现在pypi上的发行版就是完整的了。
0.2 (2010-09-20)
更新文档:指向bitbucket的代码、问题和想法。
0.1 (2010-09-20)
第一个工作版本。
从“createzopecoverage”包中复制了一些代码。
初始库骨架由nensskel创建。[reinout]