9

如何集成 dotcover 和 Jenkis。

任何PDF或指南?

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

命令“cover”不支持 2 个未命名参数键入“dotCover help”以供使用。

有什么遗漏吗?

4

1 回答 1

9

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

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

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

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 结果。

于 2016-03-28T17:38:04.037 回答