问题标签 [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 .coverage 文件与 PyDev 集成
我的构建环境配置为在命令行编译、运行和创建覆盖文件(使用 Ned Batchelder coverage.py 工具)。
我使用 Eclipse 和 PyDev 作为我的编辑器,但出于实际原因,我不可能/不方便将整个构建环境转换为 Eclipse(因此直接从 IDE 生成覆盖数据,因为它的设计目的是这样做)
PyDev 似乎使用相同的覆盖工具(或与之非常相似的工具)来生成它的覆盖信息,所以我猜应该有某种方法可以将我的外部覆盖文件集成到 Eclipse/PyDev 中。
关于如何做到这一点的任何想法?
python - 在某些 python 结构中运行单元测试和覆盖
我有一些有趣的菜鸟问题。
我尝试从命令行运行单元测试:
当我尝试在所需文件夹中运行它时也会发生这种情况:
H:\PRO\pyEstimator\src\test\python>python test_power_estimator.py
我的文件夹结构如下所示。
也许我没有看到明显的东西。我也尝试进行报道。这种方法好吗(文件结构)?
python - 使用 Python 和 Coverage 构建 Hudson 失败
我完成了 Joe Heck 的本教程,为Python设置Hudson。除了覆盖部分,一切都运行良好。我的构建失败,输出如下:
我试图包含 Execute 参数 -x,但得到了一个最终由权限失败引起的异常:
有没有人让Coverage与Hudson成功合作?
python - 如何确保对我的大型 Python 项目进行良好的测试覆盖
我有一个非常大的 python 项目和一个非常大的测试套件。最近我们决定量化我们的测试覆盖的质量。
我正在寻找一种工具来自动生成测试覆盖率报告。理想情况下,我希望有有吸引力的、易于阅读的报告,但如果我能让它快速运行,我会接受不太吸引人的报告。
我试过 Nose,但不够好:它与分发 / setuptools 的命名空间包功能不兼容。不幸的是,鼻子覆盖永远不会对我们有用,因为我们充分利用了这个功能。这真是太可惜了,因为鼻子在哈德逊似乎工作得很好(大部分)
作为替代方案,我听说有一种方法可以在 Eclipse 中进行 Python 覆盖分析,但我还没有完全锁定完美的技术。
欢迎任何建议!
仅供参考,我们在 Windows XP 32 位上使用 Python 2.4.4
python - 我的 Python 测试套件文件覆盖率何时不是 100%?
我们使用 Hudson 和 coverage.py 来报告我们测试套件的代码覆盖率。哈德森将报道分为:
- 包
- 文件
- 班级
- 线条
- 条件句
Coverage.py 仅报告测试期间执行/导入的文件的覆盖率,因此它似乎忽略了测试期间未执行的任何文件。是否存在文件不会报告 100% 覆盖率的情况?
python - 鼻子测试覆盖范围,包括 Python 包
我正在使用鼻子测试来运行一些单元测试,并使用以下内容向我展示我们的代码覆盖率:
这很好用,除了我在输出中看到一堆 Python 包。这是一个示例:
如何排除这些包?
python - Python 在覆盖和鼻子下运行时看不到子模块
当我使用coverage.py 运行一系列测试时出现导入错误,其中nose 是底层测试运行器。如果我只是在 Python 下运行,测试运行良好。
这似乎不是路径错误,而是当我通过执行“覆盖运行”运行测试时,“nova”模块的子模块似乎不可见。我通过将以下代码添加到失败的方法中发现了这一点:
当我运行它时python run_tests.py
,我看到以下输出:
但是,当我将其作为 运行时coverage run run_tests.py
,我会看到以下输出:
似乎它在每种情况下都在同一个地方找到了 nova 模块,但是在我覆盖运行它的情况下,Python 看不到大多数子模块:(auth,compute,...)console。
请注意,当我为鼻子使用覆盖插件时,不会发生此问题,但在这种特殊情况下,我不想使用该插件。
python - 让 Python 的 coverage.py 收集导入它的模块的覆盖率?
我一直在玩coverage.py,但似乎无法让它为__main__
模块收集覆盖范围。
我在 Windows 上,喜欢使用 IDLE 破解脚本。edit-hit-F5 循环非常方便、快速、有趣。不幸的是,coverage.py 似乎不能(或愿意)收集主模块的覆盖率——在下面的代码中,它报告没有收集任何数据。我的代码如下所示:
有人有想法么?我尝试了各种覆盖选项,但无济于事。似乎 IDLE 创建的环境对覆盖不是很友好,因为sys.modules['__main__']
指向 idle.pyw 文件,而不是它正在运行的文件。
python - Python:运行覆盖范围的鼻子测试时出现 AssertionError
我对 python 测试相当熟悉,所以这可能是我做错了..
当我运行我的测试时,测试运行器工作正常并且覆盖范围也......但在两者之间我得到一个断言错误:
为了让事情变得更加困难,我正在尝试测试一个命令行实用程序。这意味着我必须告诉覆盖范围以覆盖子流程调用。
我想我让这部分工作了,因为覆盖率现在报告正在运行的脚本的覆盖率百分比。但是由于我得到了覆盖工作,所以我无法摆脱 AssertionError。
一些帮助理解出了什么问题将不胜感激。我所有的代码都可以在 github 上找到:
快速运行:
谢谢
更新
我在另一台计算机上运行了测试,得到了相同的 AssertionError .. 加上一个新的 TypeError。测试再次正确运行,即使出现这些错误,覆盖率似乎也能正常工作。
python - 更改 Ned Batchelder 的覆盖工具的默认 python 版本
标题几乎说明了这一点。我在将unittest
python 从 python 2.5 更改为 2.7 时遇到问题。当我用 python 运行我的测试脚本时
它工作正常。但是当我尝试使用覆盖工具时
它崩溃说这assertRaisesRegexp
不是我的子类的属性TestCase
。我发现这是因为覆盖工具使用的是 python 2.5 并且unittest.TestCase.assertRaisesRegexp
在 2.5 中不存在。
无论如何,有人可以告诉我如何更改覆盖使用的 python 吗?
编辑:用于覆盖的彩蛋在 /Library/Python/2.5/site-packages 中。这有关系吗?