我的构建环境配置为在命令行编译,运行和创建coverage文件(使用Ned Batchelder coverage.py工具)。
我正在使用Eclipse和PyDev作为我的编辑器,但由于实际原因,我将整个构建环境转换为Eclipse是不可能/方便的(因此直接从IDE生成覆盖数据,因为它设计为做)
PyDev似乎使用相同的覆盖工具(或与其非常相似的东西)来生成其覆盖信息,所以我猜测应该有一些方法将我的外部覆盖文件集成到Eclipse / PyDev中。
关于如何做到这一点的任何想法?
答案 0 :(得分:3)
我对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'))
答案 1 :(得分:3)
我不久前需要这样的东西,当PyDev仍然使用较旧版本的coverage.py
而不是可从脚本创建者页面访问的版本。
我所做的是检测PyDev保存他的.coverage
文件的位置。对我来说是:
C:\Users\Admin\workspace\.metadata\.plugins\org.python.pydev.debug\.coverage
然后我从一个单独的脚本手动运行新版本的coverage.py
并告诉它将其.coverage文件保存在PyDev保存它的地方。我不记得coverage.py
是否存在命令行参数,或者我是否只是用脚本复制了.coverage
文件,但之后,如果您只是打开代码覆盖率结果视图< / strong>并单击刷新覆盖率信息!,PyDev将很好地处理数据,就好像它自己生成文件一样。