【问题标题】:How to integrate dotcover and Jenkins如何集成 dotcover 和 Jenkins
【发布时间】:2014-06-30 07:10:16
【问题描述】:

如何集成 dotcover 和 Jenkis。

任何 PDF 或指南?

我能够通过命令行运行点覆盖并生成测试结果。但是,当我尝试通过 Windows 批处理命令在 Jenkins 中运行时,它会引发错误,因为

命令“cover”不支持 2 个未命名参数 输入“dotCover help”以了解使用情况。

有什么遗漏吗?

【问题讨论】:

  • 我也有同样的问题,有进展吗?
  • This 页面包含有关 dotcover.exe 命令的详细说明:

标签: unit-testing jenkins code-coverage jenkins-plugins dotcover


【解决方案1】:

我使用 Jenkins 的 dotCover。我有多个需要测试的 DLL,因此我的工作将为每个 DLL 执行 dotcover、合并测试快照并生成 HTML 报告。我的 Jenkins 设置包括“HTML Publisher 插件”和“NUnit 插件”

首先抓取命令行工具,放到Jenkins服务器上:

在 windows 批处理命令中运行命令行工具:

我在尝试将参数传递到命令行时运气不佳,因此我使用了来自 dotCover 的设置 xml(dotCoverTRAEngineTest.xml 的内容):

    <?xml version="1.0" encoding="utf-8"?>
    <CoverageParams>
      <TargetExecutable>C:\NUnit-2.6.3\bin\nunit-console.exe</TargetExecutable>
<TargetArguments>C:\Jenkins\workspace\TRA.CodeCoverage\TRAEngine\TRAEngineTest\bin\x64\RduDev\TRAEngineTest.dll /xml:C:\Jenkins\workspace\TRA.CodeCoverage\TestReports\dotCoverTRAEngineTestRESULTS.xml</TargetArguments>
        <TargetWorkingDir></TargetWorkingDir>
      <Output>TRAEngineTestSnapshot.dcvr</Output>
    </CoverageParams>

Jenkins 服务器上的路径是硬编码的,因为我很懒。我知道它应该是一个参数,但它现在可以工作了。

接下来我合并所有快照:

合并xml的内容:

<?xml version="1.0" encoding="utf-8"?>
<MergeParams>
  <Source>TRAUnitTests.dcvr</Source>
  <Source>TRAEngineTestSnapshot.dcvr</Source>          
  <Output>MergedSnapshots.dcvr</Output>
</MergeParams>

然后运行报告:

report.xml 的内容:

<?xml version="1.0" encoding="utf-8"?>
<ReportParams>
  <Source>MergedSnapshots.dcvr</Source>
  <Output>CoverageReport.html</Output>
  <ReportType>HTML</ReportType>
</ReportParams>

上面的所有 .xml 文件都位于一个名为“TestReports”的文件夹中,这就是我将所有结果输出到的地方。 Jenkins 将在那里发布 HTML 报告和 nunit 结果:

如果一切正常,您应该会在工作页面上获得 dotCover 报告和 nunit 结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    相关资源
    最近更新 更多