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

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

PyDev似乎使用相同的覆盖工具(或与其非常相似的东西)来生成其覆盖信息,因此我猜测应该有一些方法将我的外部覆盖文件集成到Eclipse / PyDev中。

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

有帮助吗?

解决方案

我不久前需要这样的东西,当时PyDev仍使用旧版本的coverage.py,而不是从脚本创建者页面访问的版本。

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

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

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

其他提示

我对PyDev集成coverage.py(或者甚至使用coverage.py)一无所知,但.coverage文件非常简单。他们是marhsal'ed词典。

我没有测试过这段代码,但您可以尝试将两个.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'))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top