首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >针对coverage.py的.pyc文件

针对coverage.py的.pyc文件
EN

Stack Overflow用户
提问于 2013-09-17 16:17:46
回答 2查看 648关注 0票数 7

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

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

代码语言:javascript
运行
复制
coverage run --source=../src main.py

我得到的信息是

代码语言:javascript
运行
复制
Coverage.py warning: No data was collected.

有什么指示吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-25 13:24:47

实际上,coverage 3.6目前不支持在pyc文件中运行。见https://bitbucket.org/ned/coveragepy/issue/264/coverage-wont-run-pyc-files

诀窍是创建一个简单的“驱动程序”源文件,它使用pyc文件,比如问题体中的main.py。在报告时,需要对源文件和执行的pyc文件进行配对。

在这里,如何做到这一点(我编译的文件存储在当前文件夹(pyc)中,源文件存储在./src中):

代码语言:javascript
运行
复制
[root@host pyc]# cat .coveragerc
[run]
parallel = true

[paths]
mysources =
    ../src
    /root/lucian/coverage/module1/pyc

[root@host pyc]# coverage run main.py
[root@host pyc]# coverage combine
[root@host pyc]# coverage report
Name                                                     Stmts   Miss  Cover
----------------------------------------------------------------------------
/root/lucian/coverage/module1/src/main                       1      0   100%
/root/lucian/coverage/module1/src/test_coverage_callee       3      0   100%
/root/lucian/coverage/module1/src/test_coverage_caller       3      0   100%
----------------------------------------------------------------------------
TOTAL                                                        7      0   100%

注意,路径下的第3行必须是一个完整的路径(另一个覆盖缺陷)。

感谢内德,他帮助我通过了这篇报道邮件列表。

票数 2
EN

Stack Overflow用户

发布于 2013-09-22 01:51:05

目前,coverage.py必须访问.py (源文件)才能进行报告。内德告诉我有一张票可以让这一切在未来成为可能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18854886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档