如何从Jenkins的多个测试项目中获取dotCover覆盖率报告

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

很抱歉再次在此类别中发布另一个问题,但我遇到了另一个问题。在这里的一些用户的帮助下,我想出了如何将多个测试项目结果生成到同一结果文件中,但现在我需要做同样的事情,但是对于dotcover代码覆盖率报告。

到目前为止,我正在为每个测试项目运行批处理命令,所以它看起来像这样:

"C:\Program Files (x86)\Jetbrains\JetBrains.dotCover.CommandLineTools.2017.2.2\dotCover.exe" analyze dotCoverConfig1.xml

"C:\Program Files (x86)\Jetbrains\JetBrains.dotCover.CommandLineTools.2017.2.2\dotCover.exe" analyze dotCoverConfig2.xml

"C:\Program Files (x86)\Jetbrains\JetBrains.dotCover.CommandLineTools.2017.2.2\dotCover.exe" analyze dotCoverConfig3.xml

我觉得我非常接近,因为我从所有项目中获得了测试结果报告,但代码覆盖率报告仅涵盖了运行的最后一个批处理命令中引用的测试项目。

我在批处理命令中引用的配置文件除项目名称外都是相同的,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<AnalyseParams>
  <TargetExecutable>C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe</TargetExecutable>
  <TargetArguments>bin\Debug\Project1.Test.Unit.dll --result:TestResult.xml</TargetArguments>
  <TargetWorkingDir>Project1.Test.Unit</TargetWorkingDir>
  <TempDir><!-- Directory for the auxiliary files. Set to system temp by default. --></TempDir>
  <Output>coverage_report.html</Output>
  <ReportType>HTML<!-- [HTML|JSON|XML|NDependXML]. A type of the report. XML by default. --></ReportType>
  <InheritConsole><!-- [True|False] Lets the application being analysed to inherit dotCover console. True by default. --> </InheritConsole>

  <!-- Coverage filters. It's possible to use asterisks as wildcard symbols.
  <Filters>
    <IncludeFilters>
      <FilterEntry>
        <ModuleMask> Module mask. </ModuleMask>
        <ClassMask> Class mask. </ClassMask>
        <FunctionMask> Function mask. </FunctionMask>
      </FilterEntry>
    </IncludeFilters>
    <ExcludeFilters>
      <FilterEntry>...</FilterEntry>
      <FilterEntry>...</FilterEntry>
      <FilterEntry>...</FilterEntry>
    </ExcludeFilters>
  </Filters>
  -->
  <!-- Attribute filters. It's possible to use asterisks as wildcard symbols.
  <AttributeFilters>
    <AttributeFilterEntry>...</AttributeFilterEntry>
    <AttributeFilterEntry>...</AttributeFilterEntry>
  </AttributeFilters>
  -->
</AnalyseParams>

再次,抱歉这么快就再次发布,但似乎关于这些东西的文档非常稀少,或者我只是在搜索时很糟糕。提前致谢 :)

c# jenkins continuous-integration nunit dotcover
1个回答
1
投票

好吧所以我想出来了,显然我之前没有足够的谷歌。 DotCover提供了在这里使用命令行的指南:https://www.jetbrains.com/help/dotcover/Running_Coverage_Analysis_from_the_Command_LIne.html

最终为我工作的是使用他们在“为不同步骤中的多个项目运行覆盖”中描述的方法,运行批处理命令以获取每个测试项目的覆盖快照,每个项目都有自己的配置文件,然后合并这些快照,然后报告合并的结果。

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