如何整合dotcover和Jenkins

时间:2014-06-30 07:10:17

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

如何整合dotcover和Jenkis。

任何PDF或指南?

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

命令'封面'不支持2个未命名的参数 输入' dotCover帮助'用法。

什么遗失?

1 个答案:

答案 0 :(得分:8)

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

首先获取命令行工具并将其放在Jenkins服务器上: dotCoverCommandLineTools

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

windows batch command to run tests

我试图将params传递到命令行时运气不佳,所以我使用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服务器上的路径是硬编码的,因为我懒惰。我知道它应该是一个参数,但它现在正在工作。

接下来我合并所有快照: merge

merge xml的内容:

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

然后运行报告: report

report.xml的内容:

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

上面的所有.xml文件都位于名为&#34; TestReports&#34;的文件夹中,以及我将所有结果输出到的文件夹。 Jenkins将在那里发布HTML报告和nunit结果: results publish

当一切正常时,你应该在工作页面上获得dotCover报告和nunit结果。