【问题标题】:Code Coverage not working with PyDev代码覆盖率不适用于 PyDev
【发布时间】:2016-03-31 23:05:54
【问题描述】:

首先,很抱歉再次询问。我找到了一些关于这个主题的帖子,但没有一个建议对我有用。结果众所周知:PyDev 总是报告“File has no statistics”。

在以前的安装(Linux 和 Windows)中,我看到它按照 PyDev homepage 中的描述工作。

这是我的安装:

  • Ubuntu 15.10
  • Eclipse Mars.1
  • PyDev 4.4.0.201510052309
  • python 3.4
  • 覆盖 4.0.3(位于 /usr/local/lib/python3.4/dist-packages)

在 Eclipse/PyDev 中显示 Coverage 视图,选择基本程序文件夹并选中“为新启动启用代码覆盖”。每当我运行代码时(无论是单元测试还是正常运行),覆盖率窗口都会显示空表,或者如果选择了文件,则会显示上述消息。

路径(从 /home/username... 开始)不包含任何空格。

我尝试将 PyUnit 的详细级别设置为 9。虽然控制台有更多输出,但覆盖率统计仍然为空。

还有人知道吗?在这种情况下我错过了什么吗?

感谢您的帮助。

克里斯

编辑: .coverage 文件的路径由详细的 PyUnit 控制台输出报告。这个文件是存在的,看起来是这样的(我这里只是去掉了路径,但是是正确的):

!coverage.py: 这是私有格式,不要直接读!{"lines": {"/home/.../....py": [5, 7, 8, 9 , 12, 14, 15, 16, 17, 18, 19, 21, 22, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 39, 40, 42, 43], "/ home/.../....py": [5, 38, 7, 29, 9, 42, 11, 12, 13, 15, 17, 44, 19, 40, 21, 23, 25, 27, 10, 31], "/home/.../....py": [32, 33, 34, 35, 36, 5, 7, 8, 9, 39, 12, 15, 23, 26, 27 , 37, 30, 31]}}

【问题讨论】:

    标签: code-coverage pydev coverage.py


    【解决方案1】:

    问题在于coverage 的版本,据说它必须低于v4。正如用户saaj 在他对this question 的回答中所写,安装完成了

    sudo pip install "coverage < 4.0.0"
    

    解决了这个问题。所以这是我的安装:

    • Python 3.4
    • PyDev 4.4
    • 覆盖 3.7.1

    而且这种组合效果很好。

    更新:我现在(2019 年 1 月)再次检查并确认,当前版本的工具可以很好地协同工作:

    • Python 3.5
    • PyDev 7.0.3
    • 覆盖 4.5.2

    因此不再需要调用特定版本的覆盖率,如上所示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-14
      • 2012-06-30
      • 2018-10-14
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多