Python 尝试将 JaCoCo 转换为 Cobertura 时出错

Python error trying to convert JaCoCo to Cobertura

我正在尝试将 JaCoCo 覆盖率报告转换为 Cobertura 格式(因为 Shippable 仅支持 Cobertura)。 This 这家伙声称有一个工具可以将 JaCoCo 转换为 Cobertura,但是当 运行 他的脚本出现以下错误时:

Traceback (most recent call last):
  File "cover2cover.py", line 151, in <module>
    jacoco2cobertura(filename, source_root)
  File "cover2cover.py", line 139, in jacoco2cobertura
    convert_root(root, into, source_root)
  File "cover2cover.py", line 127, in convert_root
    packages.append(convert_package(package))
  File "cover2cover.py", line 113, in convert_package
    c_classes.append(convert_class(j_class, j_package))
  File "cover2cover.py", line 100, in convert_class
    c_methods.append(convert_method(j_method, j_method_lines))
  File "cover2cover.py", line 85, in convert_method
    convert_lines(j_lines, c_method)
  File "cover2cover.py", line 33, in convert_lines
    for jline in j_lines:
  File "cover2cover.py", line 23, in method_lines
    larger     = list(int(jm.attrib['line']) for jm in jmethods if int(jm.attrib['line']) > start_line)
  File "cover2cover.py", line 23, in <genexpr>
    larger     = list(int(jm.attrib['line']) for jm in jmethods if int(jm.attrib['line']) > start_line)
KeyError: 'line'

我对 python 一无所知,所以任何帮助将不胜感激。

我也不知道python,但我知道python 2 和python 3 有显着差异。也许你 运行 喜欢那个?

我能够 运行 这个版本的脚本没问题:

$> python --version
   Python 2.7.11

为了确保我得到的脚本没有任何下载或浏览器或行尾类型问题,我克隆了 git 存储库:

$> git clone https://github.com/rix0rrr/cover2cover.git

然后脚本 运行 首先在我的 jacoco XML 文件上尝试。