我正在寻找Jenkins的代码覆盖率。不幸的是,我需要覆盖C#项目。
到目前为止我尝试过的事情: 我使用dotCover(在命令行上)来创建html结果或xml结果(它正在工作)。 我尝试使用" cobertura"插件查看xml结果(它不工作,我知道,我需要不同的xml格式)。 我不能只使用cobertura进行项目,因为只有自由式项目,没有蚂蚁/专家项目。
因此有可能使用dotCover结果(xml / html / json)转换为xml格式,因此cobertura(或任何其他插件)认为它是一个真实的" maven / ant"项目
或者是否有任何其他C#CodeCoverage项目的插件可以在Jenkins中报告?
我是新来的,很抱歉,如果问题太简单了.. =) 干杯
答案 0 :(得分:1)
您可以通过Jenkins中的powershell脚本简单地解析和评估dotcover结果(这需要安装Powershell Plugin):
通过Powershell解析HTML结果的示例
#Command line arguments:
#0: File name of the HTML coverage report generated by dotCover
[string]$path = $args[0]
#1: Expected coverage threshold
[int]$threshold = $args[1]
#Retrieving total coverage percentage from HTML coverage report
$pattern = '^.*\[\[\"Total\",(\d+),.*$'
$report = Get-Content $path
$line = $report -match $pattern
$value = $line -replace $pattern, '$1'
[int]$coverage = [convert]::ToInt32($value, 10)
#Comparing coverage with threshold
Write-Host checking coverage threshold: $threshold
if ($coverage -ge $threshold) {
Write-Host passed with percent $coverage
return 0
}
else {
Write-Host failed with percent $coverage
return -1
}
如果您使用的是HTML结果,也可以使用以下方式发布覆盖率结果 HTML Publisher plugin