Initial commit
This commit is contained in:
74
run-unit-tests.ps1
Normal file
74
run-unit-tests.ps1
Normal file
@@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env pwsh
|
||||
|
||||
# Script pour exécuter uniquement les tests unitaires (sans @QuarkusTest)
|
||||
# et générer le rapport de couverture JaCoCo
|
||||
|
||||
Write-Host "Execution des tests unitaires BTPXpress" -ForegroundColor Green
|
||||
Write-Host "================================================" -ForegroundColor Green
|
||||
|
||||
# Nettoyer le projet
|
||||
Write-Host "Nettoyage du projet..." -ForegroundColor Yellow
|
||||
mvn clean
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "Erreur lors du nettoyage" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Exécuter les tests unitaires seulement (exclure les tests d'intégration)
|
||||
Write-Host "Execution des tests unitaires..." -ForegroundColor Yellow
|
||||
mvn test "-Dtest=!**/*IntegrationTest,!**/integration/**/*Test,!**/*QuarkusTest" "-Dmaven.test.failure.ignore=false" "-Dquarkus.test.profile=test"
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "Certains tests ont echoue" -ForegroundColor Red
|
||||
Write-Host "Consultez les rapports dans target/surefire-reports/" -ForegroundColor Yellow
|
||||
} else {
|
||||
Write-Host "Tous les tests unitaires ont reussi !" -ForegroundColor Green
|
||||
}
|
||||
|
||||
# Générer le rapport JaCoCo
|
||||
Write-Host "Generation du rapport de couverture..." -ForegroundColor Yellow
|
||||
mvn jacoco:report
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "Erreur lors de la generation du rapport JaCoCo" -ForegroundColor Yellow
|
||||
} else {
|
||||
Write-Host "Rapport JaCoCo genere avec succes !" -ForegroundColor Green
|
||||
}
|
||||
|
||||
# Afficher les statistiques de couverture
|
||||
if (Test-Path "target/site/jacoco/jacoco.xml") {
|
||||
Write-Host "Statistiques de couverture :" -ForegroundColor Cyan
|
||||
|
||||
try {
|
||||
$xml = [xml](Get-Content target/site/jacoco/jacoco.xml)
|
||||
$totalInstructions = $xml.report.counter | Where-Object { $_.type -eq "INSTRUCTION" }
|
||||
$covered = [int]$totalInstructions.covered
|
||||
$total = [int]$totalInstructions.missed + $covered
|
||||
$percentage = [math]::Round(($covered / $total) * 100, 2)
|
||||
|
||||
Write-Host "COUVERTURE GLOBALE: $covered/$total instructions ($percentage%)" -ForegroundColor Green
|
||||
|
||||
# Objectif de couverture
|
||||
$targetCoverage = 80
|
||||
if ($percentage -ge $targetCoverage) {
|
||||
Write-Host "Objectif de couverture atteint ! ($percentage% >= $targetCoverage%)" -ForegroundColor Green
|
||||
} else {
|
||||
$remaining = $targetCoverage - $percentage
|
||||
Write-Host "Objectif de couverture : $remaining% restants pour atteindre $targetCoverage%" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
} catch {
|
||||
Write-Host "Erreur lors de la lecture du rapport JaCoCo : $($_.Exception.Message)" -ForegroundColor Yellow
|
||||
}
|
||||
} else {
|
||||
Write-Host "Fichier de rapport JaCoCo non trouve" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
# Afficher les liens vers les rapports
|
||||
Write-Host "Rapports generes :" -ForegroundColor Cyan
|
||||
Write-Host " - Tests Surefire : target/surefire-reports/" -ForegroundColor White
|
||||
Write-Host " - Couverture JaCoCo : target/site/jacoco/index.html" -ForegroundColor White
|
||||
|
||||
Write-Host "================================================" -ForegroundColor Green
|
||||
Write-Host "Execution terminee !" -ForegroundColor Green
|
||||
Reference in New Issue
Block a user