代码覆盖率不适用于 PyDev
Code Coverage not working with PyDev
首先,抱歉再次提问。我找到了一些关于这个主题的帖子,但是 none 的建议对我有用。结果众所周知: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 视图,选择基本程序文件夹并选中 "enable code coverage for new launches"。任何时候我 运行 代码(无论是单元测试还是正常 运行)覆盖范围 window 都会显示空 table 或者,如果选择了文件,则会显示上述消息。
路径(从/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]}}
问题出在 coverage
的版本上,应该低于 v4。作为用户 saaj wrote in his answer to 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
因此不再需要调用特定版本的覆盖率,如上所示。
首先,抱歉再次提问。我找到了一些关于这个主题的帖子,但是 none 的建议对我有用。结果众所周知: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 视图,选择基本程序文件夹并选中 "enable code coverage for new launches"。任何时候我 运行 代码(无论是单元测试还是正常 运行)覆盖范围 window 都会显示空 table 或者,如果选择了文件,则会显示上述消息。
路径(从/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]}}
问题出在 coverage
的版本上,应该低于 v4。作为用户 saaj wrote in his answer to 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
因此不再需要调用特定版本的覆盖率,如上所示。