问题标签 [coverage.py]
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覆盖率可以分层显示结果吗?
我使用Python 代码覆盖率工具来监控和测量我们的测试覆盖率。我现在正在内部发布结果,使用coverage 出色的html 报告生成。我想将从所有模块的平面报告生成的报告更改为嵌套/分层方法,以便每个模块都显示其中模块的总计。因此,如果我当前的摘要页面如下所示:
相反,我想要一份总结报告,例如:
myapp.infra 链接到该包的索引的位置:
像这样的能力是否已经存在,而我只是太傻了,看不到它吗?还是我需要自定义报告生成?
google-app-engine - 使用 dev_appserver.py 获得覆盖不包括我的项目文件
我在 64 位 Ubuntu 13.04 上使用Coverage 3.6 、Appengine 1.8.0、Python 2.7.4 运行以下命令:
当我查看覆盖结果时,我可以看到所有文件的详细信息,但我的项目中的文件除外。如果我添加它们,它们将显示为执行的零行--source=project
。尝试--timid
没有任何区别。我可以看到其他人在做完全相同的事情 - 示例1 2 - 暗示这曾经有效。
我通过发送 SIGINT 来终止coverage/dev_appserver,并等待它退出。我怀疑 dev_appserver 复制生产环境的诡计(例如限制模块、禁用二进制模块、某种 chrooting)正在破坏覆盖范围。
python - 对龙卷风测试运行器的覆盖支持
我需要获取我在龙卷风中的项目的覆盖率报告。
但是我无法获得覆盖配置来使用龙卷风跑步者而不是标准库中的那个。
python - 如何将变量错误添加到正则表达式模糊搜索。Python
我试图向正则表达式搜索添加其他参数,因此它仅在按顺序搜索一定百分比的查询时才有效。
例如,如果我希望它至少有 95% 的覆盖率,它会起作用,query_1
但它不会起作用query_2
django - 创建视图类和更新视图类的覆盖测试
我正在为我的应用程序视图编写覆盖率测试用例。我已将 Createview 和 Updateview 类与 modelform 一起使用,也用于get_success_url()
响应重定向。
当我使用 传递表单的数据时self.client.post('/product/add/', data)
,响应是 TemplateResponse 并且 status_code 是 200,但是get_success_url()
语句没有被测试用例覆盖。那么如何从 TemplateResponse 填写和提交表单呢?
python - 报告多个 Python 版本的累积覆盖率
我的代码根据 Python 的当前版本有条件地运行,因为我支持同一个包中的 2.6、2.7 和 3.3。
我目前使用默认版本的 Python 生成这样的覆盖率报告:
这很有用但并不理想,因为它只报告 Python 2.7 的覆盖率。相反,我想生成一份关于 2.6、2.7和3.2的测试覆盖率的累积报告。
如何生成多版本覆盖率报告?
旁注:我已经尝试将commands = coverage run --source mypackage setup.py test
py26、py27、py33 中的每一个都放入我的 tox.ini 中,但这似乎并没有生成累积覆盖率报告。
python - 从覆盖率报告中删除包裹
我创建一个这样的覆盖率报告:
我的.coveragerc
文件如下所示:
但我的报告看起来像这样:
如何从报告中删除覆盖率为 0% 的标准库包?显然,将它们列出来omit
并不像我期望的那样工作......
django - 为什么 python 覆盖说错过了行?
我正在尝试使用 Django 的覆盖率,但我似乎得到了不正确的结果。我的应用程序被命名为“stats”,我有这个测试:
在命令行上,我运行:
并且测试通过了。我所有的观点目前都在 stats/views.py
但是当我运行“覆盖率报告”时,我得到了这一行:
知道我在(不)做什么会导致覆盖报告 stats/views.py 中遗漏的所有行,即使它必须被击中才能通过测试?(就像一个腰带和吊带,我在我的视野中放了一个印刷声明,它肯定会受到打击。)
python - 如果 py.test 从另一个目录执行它,coverage.py 不会覆盖脚本
我有一个 python 脚本,它接受命令行参数,处理一些文件。我正在编写成功的测试,py.test
让这个脚本通过它的步伐,用subprocess.call
.
现在我想用coverage.py
. 覆盖,当通过pytest-cov
插件(内置子进程处理)使用时,从使用' fixture创建的临时测试目录调用它时看不到/覆盖我的脚本。Coverage在它所在的目录中调用它时确实会看到我的脚本(并且文件名参数指向远程路径)。py.test
tmpdir
在这两种情况下,我的测试都通过了!覆盖 3.6、pytest-2.3.5、pytest-cov 1.6,均来自 PyPi。
问题:即使脚本在另一个目录中执行,我如何才能获得识别我的脚本的覆盖率?这是覆盖范围的错误,还是无法做到的事情?如果后者毕竟tmpdir
是 py.test 的库存机制,那会感到惊讶......
最小的例子:
我得到了一个脚本my_script.py
,它只是回显arg_file.txt
通过命令行参数提供的文件的内容。在两个不同的测试中,这一次在 a 中调用tmpdir
,一次在脚本的位置调用。两个测试都通过了,但是在 tmpdir 测试中,我没有得到覆盖信息!
测试运行:
覆盖范围:
文件在这里:https ://gist.github.com/bilderbuchi/6412754
编辑:有趣的是,当使用 运行覆盖测试时-s
,还有更多奇怪的输出 - 覆盖警告No data was collected
,当它显然被收集时,在tmpdir
测试中警告Module my_script.py was never imported.
?
python - 如何知道我的 Python 测试是否在覆盖模式下运行?
我正在使用 Travis CI 在持续集成上运行 Ned Batchelder 的覆盖率模块,但我只想运行集成测试并跳过功能性测试,因为它们花费的时间太长并且覆盖率测量不受它们的影响。
我为此创建了一个特殊的配置,但我想知道在 Python 脚本中是否有另一种方法可以知道代码是否由覆盖运行。