问题标签 [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.

0 投票
2 回答
6655 浏览

python - 如何安装 python 的覆盖模块并在 Windows 的命令行中使用它

我想学习如何使用 python 的 coverage.py 模块来检查我的代码的覆盖模式。我尝试从各种来源阅读有关该工具的信息,最后使用“pip”实用程序将其安装在我的 Windows 7 机器上。安装后,覆盖模块安装在 C:\Python27\Lib\site-packages 中。

现在,我正在阅读有关如何从该页面使用它的说明:作者的安装说明。我按照本页给出的安装说明进行操作。但是,安装后,我不确定如何从命令行使用该工具?根据作者的说法,在 pip install 该工具之后,应该可以调用该命令

并期望看到一些输出。但是,当我运行此命令时,我得到command not found error。根据我的说法,这是预期的行为,因为覆盖只是另一个 python 模块(即具有 .py 扩展名),而不是独立的可执行文件。所以,我不知道它如何以独立的方式运行。

请有人提供该工具安装的确切详细信息。我只需要安装帮助。我将从nedbatchelder.com 的“Coverage command line usage”文章中了解 CMD 的用法。

0 投票
1 回答
1082 浏览

python - 无法在 PyDev 中使用 Coverage,“文件没有统计信息”

我无法让 Coverage 与 PyDev 一起工作。我运行的每个文件都显示:“文件没有统计信息。”

我按照说明检查了“为新启动启用代码覆盖率”,然后将文件夹拖到“代码覆盖率”窗口进行分析。

我已经成功安装了覆盖。之后,我刷新了我的 Python 解释器设置,其中自动显示了覆盖文件夹。

我还尝试将覆盖文件夹添加到我项目的外部库中。也没用。。。

在此先感谢您提供任何可能引导我朝着正确方向前进的提示。

  • 覆盖版本 3.5.2(也尝试了推荐的 3.4 无济于事)
  • PyDev 版本:2.6.0
  • Eclipse 版本:3.7.2
0 投票
1 回答
333 浏览

python - 如何在多个平台上运行 python 代码覆盖

我在 Windows 上的 PyDEV 内的代码(python 2.7)上使用了coverage.py。

我有一些仅在 UNIX 上运行的代码,通常以:

我想确保这也包括在内。以某种方式在 UNIX 上运行覆盖,并将结果合并到 PyDEV。

不过,我不知道如何实现它。

0 投票
1 回答
553 浏览

python - Python 鼻子在覆盖范围内抛出 TypeError 错误

当我使用带有覆盖范围的nosetests 1.2.1 时,它会引发以下错误。

有什么帮助吗?谢谢

0 投票
2 回答
18859 浏览

python - 如何修复 Python Nose:覆盖不可用:无法导入覆盖模块

尽管安装了插件,但我似乎无法使用 Nose 获得代码覆盖率。

有想法该怎么解决这个吗?

0 投票
1 回答
1263 浏览

python - Python 代码覆盖率

我有一个如下的python项目结构

当我运行 python nose 时,我使用以下代码段

我的期望是我得到“company.division”下所有包的清晰简洁的输出,但是我从 cheetah、yaml 及其覆盖范围中获取文件,而我根本不感兴趣。设置 NOSE_COVER_PACKAGE 似乎根本没有任何区别。有人能告诉我我错过了什么吗?

0 投票
1 回答
234 浏览

python - python覆盖率可以分层显示结果吗?

我使用Python 代码覆盖率工具来监控和测量我们的测试覆盖率。我现在正在内部发布结果,使用coverage 出色的html 报告生成。我想将从所有模块的平面报告生成的报告更改为嵌套/分层方法,以便每个模块都显示其中模块的总计。因此,如果我当前的摘要页面如下所示:

相反,我想要一份总结报告,例如:

myapp.infra 链接到该包的索引的位置:

像这样的能力是否已经存在,而我只是太傻了,看不到它吗?还是我需要自定义报告生成?

0 投票
2 回答
1781 浏览

python - 带有文档测试、覆盖率和并行性的 Python 测试发现

……还有一匹小马!不,认真的。我正在寻找一种组织“正常工作”的测试的方法。大多数事情确实有效,但并非所有部分都可以组合在一起。所以这就是我想要的:

  • 自动发现测试。这包括文档测试。请注意,doctest 的总和不得作为单个测试出现。(即不是 py.test --doctest-modules 所做的)
  • 能够并行运行测试。(类似于 xdist 中的 py.test -n)
  • 生成覆盖率报告。
  • python setup.py test工作正常。

我目前的方法涉及一个tests目录和load_tests 协议。包含的所有文件都命名为test_*.py. python -m unittest discover如果我创建一个test_doctests.py包含以下内容的文件,这就会起作用。

这种方法还有一个好处是可以使用 setuptools 和 supply setup(test_suite="unittest2.collector")

然而,这种方法存在一些问题。

  • coverage.py 期望运行一个脚本。所以我不能在这里使用 unittest2 发现。
  • py.test 不运行 load_tests 函数,因此它找不到 doctests 并且该--doctest-modules选项是废话。
  • nosetests 运行load_tests函数,但不提供任何参数。这看起来在鼻子的一侧完全坏了。

我怎样才能让事情比这更好地工作或解决上面的一些问题?

0 投票
1 回答
2023 浏览

python - 报告多个 Python 版本的累积覆盖率

我的代码根据 Python 的当前版本有条件地运行,因为我支持同一个包中的 2.6、2.7 和 3.3。

我目前使用默认版本的 Python 生成这样的覆盖率报告:

这很有用但并不理想,因为它只报告 Python 2.7 的覆盖率。相反,我想生成一份关于 2.6、2.73.2的测试覆盖率的累积报告。

如何生成多版本覆盖率报告?

旁注:我已经尝试将commands = coverage run --source mypackage setup.py testpy26、py27、py33 中的每一个都放入我的 tox.ini 中,但这似乎并没有生成累积覆盖率报告。

0 投票
1 回答
1036 浏览

django - 为什么 python 覆盖说错过了行?

我正在尝试使用 Django 的覆盖率,但我似乎得到了不正确的结果。我的应用程序被命名为“stats”,我有这个测试:

在命令行上,我运行:

并且测试通过了。我所有的观点目前都在 stats/views.py

但是当我运行“覆盖率报告”时,我得到了这一行:

知道我在(不)做什么会导致覆盖报告 stats/views.py 中遗漏的所有行,即使它必须被击中才能通过测试?(就像一个腰带和吊带,我在我的视野中放了一个印刷声明,它肯定会受到打击。)