如何正确显示devops中每个类的cobertura代码覆盖率

问题描述 投票:0回答:1

我正在使用Azure Devops中的一个管道,我们使用单元测试。

因为我们正在使用OpenEdge(并且sonarqube许可证相当昂贵)我已经为profiler文件编写了自己的解析器。它计算源代码中的(相关)行,并从分析器文件中解析测试期间运行的行。它相应地计算这个数字(所以我认为问题可能在于我如何构建cobertura.xml文件)。

然后我根据这个结构构造一个Cobertura xml:

<coverage timestamp version complexity branches-valid branches-covered lines-valid lines-covered branch-rate line-rate>
<packages>
<package complexity branch-rate line-rate name>
    <classes>
        <class complexity branch-rate line-rate name file-name>
            <methods>
                <method branch-rate line-rate name signature>
                    <lines>
                        <line branch hits number>
                        </line>
                    </lines>
                </method>
            </methods>
            <lines>
                <line branch hits number>
                </line>
            </lines>
        </class>
    </classes>
</package>
</packages>
</coverage>

使用此语法,整个代码覆盖率将显示在构建摘要选项卡上。现在,我希望在构建内的“代码覆盖率”选项卡上看到每个类(或我们的文件中的文件)的覆盖范围(最终还是每个过程的代码覆盖率,现在已经填写了)。

是否有可能以这种方式执行此操作(我假设管道中的“发布代码覆盖率”任务应该解析Cobertura文件并相应地显示其内容...)?

或者我在这里犯了一些根本性的错误?

在此先感谢,Jacco

code-coverage devops cobertura
1个回答
0
投票

我在GitHub上做了同样的事情:abl-profiler-converter

我收到报告的方法是将Cobertura xml输出提供给报告生成器任务,例如:ReportGenerator

© www.soinside.com 2019 - 2024. All rights reserved.