Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 针对.pyc文件的coverage.py_Python_Code Coverage_Coverage.py - Fatal编程技术网

Python 针对.pyc文件的coverage.py

Python 针对.pyc文件的coverage.py,python,code-coverage,coverage.py,Python,Code Coverage,Coverage.py,我试图使用coverage.py来查找针对服务器进程执行的功能测试的覆盖率,这些测试是使用.pyc文件部署的。而且似乎覆盖范围并不支持这一点 为了解决这个问题,我创建了一个简单的.py模块,用于调用其他pyc文件,并将其源代码提供到一个单独的文件夹中: coverage run --source=../src main.py 我得到的信息是 Coverage.py warning: No data was collected. 有任何指针吗?当前,coverage.py必须有权访问.py(源

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

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

coverage run --source=../src main.py
我得到的信息是

Coverage.py warning: No data was collected.

有任何指针吗?

当前,coverage.py必须有权访问.py(源)文件才能进行报告。Ned告诉我,将来有一张票可以实现这一点。

事实上,coverage 3.6目前不支持使用pyc文件运行。看

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

下面介绍如何执行此操作(我编译的文件存储在当前文件夹(pyc)中,源文件存储在../src中):

注意,[paths]下的第三行必须是完整路径(另一个覆盖缺陷)


感谢Ned帮助我在coverage邮件列表中解决了这个问题。

事实上,see现在已经修复。我可以问一下这个问题是在哪个版本中修复的吗?
[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%