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

0 投票
1 回答
1431 浏览

python - “模块”对象在 coverage.py 中没有属性“RawConfigParser”

我能够使用 -user 成功安装覆盖率并尝试使用 api,因为我们有很难从命令行调用覆盖率的包装器所以我调用 api 并编写导入覆盖率但我最终出现以下错误。请您提供输入。

当我编写简单的导入时它可以工作,但是如果我从包装器调用它会失败。简而言之,我们有一个脚本,其中调用功能脚本或主脚本。

如果我们也调用其他模块,是否也可以覆盖内部模块

0 投票
2 回答
608 浏览

python - coverage.py 针对 .pyc 文件

我正在尝试使用 coverage.py 来查找针对服务器进程执行的功能测试的覆盖率,使用 .pyc 文件部署。似乎报道不支持这一点。

为了解决这个问题,我创建了一个简单的 .py 模块,它调用其他 pyc 文件,为此我将源文件提供到一个单独的文件夹中:

我收到的信息是

任何指针?

0 投票
1 回答
611 浏览

python - 在子进程的情况下鼻子测试的覆盖率报告

我正在使用nosetests 对一些python 脚本进行单元测试。有问题的脚本创建了一个子进程。我正在使用以下命令执行脚本: nosetests -s -v 'python script.py' --with-coverage

我已经安装了nose-cov。它的版本是1.6

我得到的覆盖率报告不包含孩子执行的代码的覆盖率。

有没有办法获得儿童过程的覆盖?

谢谢

0 投票
2 回答
6200 浏览

python - 在 virtualenv 中运行覆盖

我最近偶然发现了在虚拟环境中运行覆盖率测量的一些问题。我不记得过去类似的问题,也无法在网上找到解决方案。

基本上,当我尝试在 virtualenv 中运行测试套件时,它工作正常。但是,当我尝试使用它时coverage,它会因为缺少所需的模块而失败。根据 StackOverflow 上的一些答案,我检查了我的脚本,发现它coverage使用不同的解释器,即使是从同一个virtualenv.

以下是如何重现它:

问题是:如何coverage与虚拟环境无缝协作?我可以在系统范围内更改sys.path或安装所需的模块,但必须有一种更简洁的方法。

0 投票
1 回答
2695 浏览

django - 在 gunicorn 中运行时如何从 django 应用程序获取覆盖率数据

如何从 Django 项目的视图代码(以及视图代码调用的代码)中获取代码覆盖率?

coverage gunicorn <params>不显示任何被击中的行。

0 投票
1 回答
798 浏览

django - 即使在 Django Nose 中使用 -s 选项后,pdb 仍然不会显示输出

我正在尝试调试我的测试,并且正在使用自定义测试运行程序。当我不将它与 manage.py 结合使用时,我可以让 pdb 正常工作。

在 mysite/blog/tests/models_tests.py 我上面有以下几行:

症状是当我运行“fab t:i=1”时,测试开始运行。大概 set_trace 正在启动,我只是看不到输出,因为光标只是闪烁,然后在大约 10 秒后停止闪烁。如果我键入 exit,我会收到以下错误:

我猜这意味着 pdb 正在加载,我只是看不到输出。此外,如果我键入“c”,pdb 知道继续,并且测试通过。我只是看不到(pdb)提示。这是否意味着“-s”不能正常工作?

在 mysite/blog/tests/models_tests.py 我上面有以下几行:

位于 mysite/mysite/testrunner.py:

位于 mysite/mysite/settings.py:

位于 mysite/mysite/test_settings.py:

最后,我从位于 mysite/fabfile.py 的结构中运行这些测试:

0 投票
1 回答
902 浏览

python - 为什么coverage.py 不能正确测量Flask 的runserver 命令?

我试图弄清楚 Flask 应用程序的哪些行正在运行。我像这样启动 Flask:

输出如下所示:

manage.py 看起来像这样:

然后我通过 HTTP 访问应用程序的各个部分。

当我查看覆盖率 HTML 报告时,它说只覆盖了方法定义,而不是方法的实际主体。

我怀疑这是因为这些方法是由coverage.py 未涵盖的子进程执行的。

有任何想法吗?

0 投票
2 回答
476 浏览

python - python鼻子覆盖插件太彻底(强制pylib选项)

我正在使用鼻子 1.3.0 和覆盖率 3.7。

在命令行上运行

生成一个报告,将其自身限制为 myfile.py 中的函数:

但是,如果我尝试将覆盖率插件用于鼻子,覆盖率会扩展到已安装的 python 库,速度很慢并且会使结果混乱:

这里的覆盖范围扩展到所有已安装库中所有使用的包的所有血腥细节(手动缩短报告):

这似乎等同于在命令行上指定:

如何让鼻子覆盖插件不深入研究已安装的 python 库?

0 投票
1 回答
887 浏览

coverage.py - 从coverage.py生成的coverage.xml报告中去掉绝对路径

有没有办法使用coverage.py获取结果coverage.xml(或去除前缀)的相对路径?

0 投票
2 回答
12954 浏览

python - 使 py.test、coverage 和 tox 一起工作:测试文件夹中的 __init__.py?

我对,和:有一个奇怪的问题tox,当从 启动该选项时,它似乎需要文件夹中的一个文件,这不是立即显而易见的。py.testcoveragepytest-covpy.test--covtox__init__.pytests

在写这篇文章时,我已经通过添加上述内容解决了最初的问题tests/__init__.py,但是到目前为止,我并不完全理解它为什么会起作用或不起作用,所以我仍然在寻求帮助。请参阅下面的详细资料。

我在 SO 上找到了一个相关的问题,但它只会让它更加混乱,因为答案似乎与我到目前为止所想出的相反: `py.test` 和 `__init__.py` 文件

另请参阅此处的官方文档:py.test - 良好的集成实践(页面的最底部)。


简化的项目结构:


相关部分tox.ini


相关部分.coveragerc


现在,结果:

  • py.test --cov=project --cov-report=termtests/__init__.py无论文件是否存在,从项目根目录运行 => 正确覆盖。
  • tox -e check没有tests/__init__.py=> 测试被发现并运行,但我收到警告“Coverage.py 警告:未收集数据。” 所有模块的覆盖率为 0%
  • tox -e checktests/__init__.py=> 再次正确覆盖。

对我来说,为什么tests/__init__.py文件必须在那里(添加这个空文件解决了最初的问题)以进行tox运行并不是很明显,但是当您手动运行测试/覆盖时并不重要。有任何想法吗?