问题标签 [python-coverage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 防止python覆盖包括虚拟环境站点包
我是新手,遇到了一个奇怪的问题。我的报道将我的虚拟环境站点包考虑在内。这是覆盖运行的输出:
这是我的项目目录的结构,它位于主目录下:
我最初在项目目录中拥有虚拟环境,现在使用 virtualenvwrapper 将其移出 ~/Envs,但问题仍然存在。run.py 和 test.py 在任何方面都没有什么特别之处,它们都从 atcatalog 导入应用程序。我也试图找到省略虚拟环境目录的方法,但谷歌没有给出答案(令人惊讶)。我不认为覆盖的目的是测试已经经过良好测试的站点包。所以我会把他们排除在跑步之外。
我如何才能避免覆盖测试我的站点包?
python - 是否可以在 Python 中进行代码覆盖断言?
当我编写测试或调试代码时,我希望能够添加一行 Python,如果该行从未执行过,它将通知我。这可能吗?
例如,我希望能够编写如下代码:
我希望输出告诉我其中一个分支从未被覆盖。
我试过的
方法一
我可以对带有装饰器的函数执行此操作,如下所示:
但是我正在努力寻找在编译我能够挂钩的函数期间激活的东西。
方法二
如果我将递增值传递给每个实例(例如 check_covered(0)、check_covered(1)、check_covered(2)...),这也很简单,但是当我复制或删除代码时这会变得混乱。
方法 3
可以通过运行代码覆盖率工具来获取此信息,但如果可能的话,我更愿意使用一些我有机会理解的简单 Python 代码来做到这一点。
python - Python unittest 分支覆盖似乎错过了 zip 中执行的生成器
我不太明白 Python 的分支覆盖率统计数据试图告诉我什么。给定表格的代码
它是在单元测试期间导入的,Python 的标准分支覆盖率告诉我该# Line of interest
行仅被部分覆盖(n->-n
在 CLI 输出中,漂亮的 html 报告中的“n ↛ exit [?]”)。
返回的 dict 被清楚地打印出来,并且使用空列表执行仍然会产生未覆盖的行。
我是否误解了覆盖率输出?这闻起来像虫子吗?
Python 3.5.1,覆盖 4.0.3
python - python覆盖模块可以有条件地忽略单元测试中的行吗?
使用鼻子测试和覆盖率模块,我想要代码的覆盖率报告以反映正在测试的版本。考虑这段代码:
当我在 python 3.5 版中测试时,print()
显示为未经测试。我想让覆盖忽略那条线,但只有当我使用 python 3.3+ 版本进行测试时
有没有办法只在不小于时做类似声明# pragma: no cover
的事情?实际上,我想做这样的事情:print()
sys.version_info
(3,3)
python - 如何在 Python 3.5 中的代码中激活鼻子覆盖
我有一个 TestMain.py 初始化并运行鼻子测试,我正在尝试在其中启用代码覆盖率。测试当前加载如下:
我发现的关于该插件的唯一“文档”是这个,而且很糟糕:https ://nose.readthedocs.org/en/latest/plugins/cover.html 。根本没有关于方法期望什么,必须以什么顺序调用它们的提示,并且源代码没有用(我应该提供一个解析器,什么是解析器?)
我需要配置选项(封面包和封面擦除)并启用 html 报告。
有人可以向我指出有关此 API 的综合文档或演示如何使用此插件吗?
谢谢!
python-3.x - Pycharm - mako 模板中的覆盖范围
我已经进行了涵盖 100% 的 Python 代码的测试。除此之外,我的代码在 mako 模板中的 TypeError 上失败。
有什么方法可以让 pycharm 的覆盖率在模板中也显示代码覆盖率?
python - Python 按模块测试覆盖率报告
我正在使用 Coverage 来测量我的测试的代码覆盖率,它按文件输出 XML / HTML 覆盖率统计信息。
有没有办法通过python模块输出结果?例如:
python - views.py 中的 Django 函数定义未在覆盖范围中显示?
我正在通过以下方式使用覆盖率来测试我的 django 应用程序:
在我的测试套件中,我测试了一些视图:
因此,我显然正在针对该视图定义的所有内容'/bookmarks_json/'
。从来没有coverage report
说签名行没有被击中,例如:
我在这里看到了 Ned Batchelder 的解决方案Django coverage test for URLs 0%,为什么?我猜这有点相关。结果我写了我自己的测试运行器:
和
但是,我想使用普通命令./manage.py test
,所以我想知道是否有办法解决这个问题,而无需编写我自己的测试运行程序。
python - Coverage.py/Cython - Unable to trace into Cython library in complex project with unittest
I have a project that has a model and other components each in a Cython library. I've created unittests and can run those fine with coverage but I only get coverage information for the test code itself (not the libraries the test code is calling). I've tried to use the debug trace operation in coverage but it doesn't show any attempt to read any of the library code (I get no entries for Tracing or Not tracing). I have linetrace, CYTHON_TRACE=1, and the .coveragerc item for the Cython.coverage plugin all turned on. I've tried to copy the model.c code up to \ but that didn't seem to help.
Here is the (partial) project structure:
The code in windows\model.pyx includes a number of platform independent pieces of code from \src\models like this:
setup.py is run from \ with
and looks like this:
unittests is run from \tests\models with
Here is the coverage report output (with plugin debug enabled). test_model is running lots of code in model.pyx and submodel.pxi that's not reported here:
Each unit test starts with this code snippet to pull the pyd file from the higher directory:
I'm sure this has something to do with the project structure and I don't mind copying source files into the test directories in order to load up the test harness but I can't quite figure out the correct combination to make that happen. All help is welcome.
python - 如何解释 Python coverage.py 分支覆盖结果?
我coverage.py
用来衡量我的测试的代码覆盖率。我已经启用了分支覆盖,但我无法完全理解报告。
没有分支覆盖,我得到 100% 的覆盖:
启用分支覆盖:
有问题的来源可以在这里找到。
21->10
说得通; 该if
子句永远不会计算为False
(跳回到外部 for 循环的开头)。
但是,53->-48
让59->-58
我摸不着头脑。他们的意思是什么?