2

我的构建环境配置为在命令行编译、运行和创建覆盖文件(使用 Ned Batchelder coverage.py 工具)。

我使用 Eclipse 和 PyDev 作为我的编辑器,但出于实际原因,我不可能/不方便将整个构建环境转换为 Eclipse(因此直接从 IDE 生成覆盖数据,因为它的设计目的是这样做)

PyDev 似乎使用相同的覆盖工具(或与之非常相似的工具)来生成它的覆盖信息,所以我猜应该有某种方法可以将我的外部覆盖文件集成到 Eclipse/PyDev 中。

关于如何做到这一点的任何想法?

4

2 回答 2

3

我对 PyDev 对 coverage.py 的集成一无所知(或者它是否甚至使用 coverage.py),但 .coverage 文件非常简单。它们是编组的字典。

我没有测试过这段代码,但你可以尝试将两个 .coverage 文件合并为一个:

import marshal
c1_dict = marshal.load(open(file_name_1, 'rb'))
c2_dict = marshal.load(open(file_name_2, 'rb'))
c1_dict.update(c2_dict)
marshal.dump(c1_dict, open(file_name_out, 'wb'))
于 2008-11-18T03:15:32.220 回答
3

前段时间我确实需要这样的东西,当时 PyDev 仍然使用coverage.py比从脚本创建者页面访问的版本更旧的版本。

我所做的是检测 PyDev 保存.coverage文件的位置。对我来说是:

 C:\Users\Admin\workspace\.metadata\.plugins\org.python.pydev.debug\.coverage

然后我从一个单独的脚本手动运行一个新版本,coverage.py并告诉它把它的 .coverage 文件保存在 PyDev 保存它的地方。我不记得是否有命令行参数,coverage.py或者我只是.coverage用脚本复制了文件,但在那之后,如果你只是打开代码覆盖结果视图并单击刷新覆盖信息!, PyDev 将很好地处理数据,就像它自己生成文件一样。

于 2009-01-28T22:35:08.560 回答