This commit is contained in:
@@ -1,49 +0,0 @@
|
||||
#!/usr/bin/env pwsh
|
||||
# Script to run tests with detailed code coverage using coverlet.msbuild
|
||||
|
||||
Write-Host "Running tests with detailed code coverage..." -ForegroundColor Green
|
||||
|
||||
# Run tests with coverlet.msbuild
|
||||
dotnet test `
|
||||
/p:CollectCoverage=true `
|
||||
/p:CoverletOutputFormat=cobertura `
|
||||
/p:CoverletOutput=./coverage/ `
|
||||
/p:Exclude="[*]*.Migrations.*" `
|
||||
/p:ExcludeByFile="**/Migrations/*.cs"
|
||||
|
||||
Write-Host "`nTest execution completed!" -ForegroundColor Green
|
||||
|
||||
# Find the coverage file
|
||||
$coverageFile = Get-ChildItem -Path "./ChatBot.Tests/coverage" -Filter "coverage.cobertura.xml" -ErrorAction SilentlyContinue
|
||||
|
||||
if ($coverageFile) {
|
||||
Write-Host "Coverage file location:" -ForegroundColor Cyan
|
||||
Write-Host $coverageFile.FullName -ForegroundColor White
|
||||
|
||||
# Parse and display coverage percentage
|
||||
[xml]$coverageXml = Get-Content $coverageFile.FullName
|
||||
$lineRate = [double]$coverageXml.coverage.'line-rate'
|
||||
$branchRate = [double]$coverageXml.coverage.'branch-rate'
|
||||
$linesCovered = [int]$coverageXml.coverage.'lines-covered'
|
||||
$linesValid = [int]$coverageXml.coverage.'lines-valid'
|
||||
|
||||
$coveragePercent = [math]::Round($lineRate * 100, 2)
|
||||
$branchPercent = [math]::Round($branchRate * 100, 2)
|
||||
|
||||
Write-Host "`n========================================" -ForegroundColor Green
|
||||
Write-Host "COVERAGE RESULTS:" -ForegroundColor Yellow
|
||||
Write-Host "========================================" -ForegroundColor Green
|
||||
Write-Host "Line Coverage: $coveragePercent% ($linesCovered / $linesValid)" -ForegroundColor White
|
||||
Write-Host "Branch Coverage: $branchPercent%" -ForegroundColor White
|
||||
Write-Host "========================================`n" -ForegroundColor Green
|
||||
|
||||
if ($coveragePercent -lt 70) {
|
||||
Write-Host "⚠️ Coverage is below 70%" -ForegroundColor Red
|
||||
} elseif ($coveragePercent -lt 80) {
|
||||
Write-Host "✅ Coverage is acceptable (70-80%)" -ForegroundColor Yellow
|
||||
} else {
|
||||
Write-Host "🎉 Excellent coverage (80%+)" -ForegroundColor Green
|
||||
}
|
||||
} else {
|
||||
Write-Host "Coverage file not found!" -ForegroundColor Red
|
||||
}
|
||||
Reference in New Issue
Block a user