Coverage.py中的“没有代码源”消息>> [

问题描述 投票:33回答:8
我昨晚成功运行了构建。我今天早上起床,又跑了另一个,没有更改任何配置或修改任何源代码。现在,当使用

coverage

运行我的nosetests时,我的构建失败,并显示消息“没有代码源”NoSource: No source for code: '/home/matthew/.hudson/jobs/myproject/workspace/tests/unit/util.py' . . . No source for code: '/home/matthew/.hudson/jobs/myproject/workspace/__init__.py'
[我唯一的线索是它说找不到的文件不存在,

但是它们从来没有,而且不应该存在。

例如,在后者中,Hudson的工作区是不是Python模块,因此__init__.py不会在那里。

更新:

我已经确认这不是哈德逊问题。当我运行nostests并覆盖目录本身时,会看到类似的消息。同样,coverage所寻找的文件从来都不是一开始的,这非常令人困惑。 我昨晚成功运行了构建。我今天早上起床,又跑了另一个,没有更改任何配置或修改任何源代码。现在,我的构建失败,并显示消息“ ...的无源...
python continuous-integration code-coverage nosetests
8个回答
34
投票
我不确定为什么它认为该文件存在,但是您可以通过coverage xml -i开关告诉coverage.py忽略这些问题。

40
投票
确保那里没有过去可能存在的.pyc文件。

15
投票

摘要


9
投票
只需使用'--cover-erase'参数。它可以解决此错误,您无需手动删除coverage文件

6
投票
问题是.pyc文件仍然存在。

1
投票
当尝试通过setuptools运行鼻子测试覆盖率时,我也遇到了这个问题。如前所述,可以删除现有的.pyc文件,但这可能很麻烦。

0
投票
也许这会有所帮助,但是我今天遇到了类似的错误。这是一个权限错误。我的代码正在使用另一位用户的签出(根据设计,向下询问),为了覆盖范围,我需要进行sudo操作。因此,您的问题可能有所帮助。

0
投票
正在运行的服务位于pyc源文件中,没有py源文件。如何使用coverage收集pyc源文件的coverage?
© www.soinside.com 2019 - 2024. All rights reserved.