use*_*668 8 unit-testing code-coverage jenkins dotcover jenkins-plugins
如何整合dotcover和Jenkis.
任何PDF或指南?
我能够通过命令行运行点覆盖,并生成测试结果.但是,当我尝试通过Windows批处理命令在Jenkins中运行时,它会抛出一个错误
命令'cover'不支持2个未命名的参数键入'dotCover help'以供使用.
有什么遗失?
我使用Jenkins的dotCover.我有多个需要测试的DLL,所以我的工作将为每个DLL执行dotcover,合并测试快照,并生成HTML报告.我的Jenkins设置包括"HTML Publisher插件"和"NUnit插件"
在Windows批处理命令中运行命令行工具:
我尝试将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>
Run Code Online (Sandbox Code Playgroud)
Jenkins服务器上的路径是硬编码的,因为我很懒.我知道这应该是一个参数,但它现在正在工作.
合并xml的内容:
<?xml version="1.0" encoding="utf-8"?>
<MergeParams>
<Source>TRAUnitTests.dcvr</Source>
<Source>TRAEngineTestSnapshot.dcvr</Source>
<Output>MergedSnapshots.dcvr</Output>
</MergeParams>
Run Code Online (Sandbox Code Playgroud)
report.xml的内容:
<?xml version="1.0" encoding="utf-8"?>
<ReportParams>
<Source>MergedSnapshots.dcvr</Source>
<Output>CoverageReport.html</Output>
<ReportType>HTML</ReportType>
</ReportParams>
Run Code Online (Sandbox Code Playgroud)
上面的所有.xml文件都位于一个名为"TestReports"的文件夹中,这就是我输出所有结果的地方.Jenkins将在那里发布HTML报告和nunit结果:

如果一切正常,您应该在作业页面上获取dotCover报告和nunit结果.