2016-04-13 20 views
0

Müşteri olarak adlandırılan bir java projem var, bunun altında başka 8 modül var, bu 5 modül arasında ara test sınıfları var ve her modül için ayrı ant yapı dosyaları var. Ben her proje için (oluşturulan birim test raporları) jacoco.exec'i oluşturdum, şimdi, bu 5 modülün birim test raporlarını tek bir raporda birleştirmek istiyorum ve son kapsama bölümünde her modül için ekran birimi test raporlarını görüntülemek istiyorum. Bunun için herhangi bir öneride bulunabilir misiniz?çoklu java ünitesi test raporları için sonar kapsama raporları

sayesinde, her modülün test raporu okunur yapmak istiyorum ne Joseph

cevap

0

. Bunu çoklu modül proje yapılandırması ile yapabilirsiniz. Ana build.xml'inizden her şeyi hallederseniz muhtemelen en ileride olacaktır. Ben Ant bu test ettik, ama Jacoco raporları standart bir konumda tüm olup olmadığını, hatta çocuk modülleri velilerine devralır çünkü bunları belirtmek gerekir olmayabilir böyle bir şey

<property name="sonar.projectKey" ... 
<!-- all normal properties here --> 
<property name="sonar.modules" value="module1,module2..." /> 
<property name="module1.sonar.jacoco.reportPath" value="... 

Not çalışması gerekir özellikleri. çok modüllü proje yapılandırması için The docs akılda Ant sözdizimi ile yazılmamış, ancak SonarQube Scanner for Ant docs gelen bu akılda tutmak olduğu sürece bu aracılığıyla çalışmak gerekir:

The SonarQube Scanner for Ant is an Ant Task that is wrapper of SonarQube Scanner, which works by invoking SonarQube Scanner and passing to it all properties named following a sonar.* convention. This has the downside of not being very Ant-y, but the upside of providing instant availability of any new analysis parameter introduced by a new version of a plugin or of SonarQube itself.

+0

çok teşekkürler Ann gider çünkü

sonar.modules=common,help sonar.sources=./src/main/java sonar.binaries=./target/classes sonar.tests=./src/test/java sonar.junit.reportsPath=./target/surefire-reports 

yolu göreli olmalıdır i yaklaşımını, yukarıda bahsettiğin şeyi deneyecek "module1.sonar. jacco.reportPath "ve öylesine ... –

+0

Şimdi, bu hata, jenkins içinde sonar-runner ile projemi çalıştırırken, ERROR: Neden: Bileşen sınıfı yüklenemiyor. org.sonar.batch.repository.ProjectRepositories HATA: Neden: http: // localhost üzerinde hata 500: 9000/batch/project.protobuf? Key = aimia-java-sonar-runner –

+0

Bunu Google Grubuna en iyi şekilde iletebilirsiniz: https://groups.google .com/forum/#! forum/sonarqube –

0

Çok teşekkürler. Tekrar Ann'e… Benim için çalışıyorum, konularım aşağıda açıklandığı gibi sonar-project.properties'deki her bir alt proje için ayrı bir modül ekledikten sonra çözülmüştür (her modül için kapsama ve çoklu diller). Sonarqube'deki modüller için 'kapsama' sonuçlarının alınması ..

# Modules 
sonar.modules=common,help,mobile,partners 

common.sonar.projectBaseDir=C:/dev/workspaces/hg/customer 
common.sonar.sources=common/src/main/java,common/web 
common.sonar.tests=common/src/test/java 
common.sonar.binaries=common/bin 
common.sonar.junit.reportsPath=common/test/reports/junitreport 
common.sonar.surefire.reportsPath=common/test/reports/junitreport 
common.sonar.jacoco.reportPath=common/coverage/common.exec 

help.sonar.projectBaseDir=C:/dev/workspaces/hg/customer 
help.sonar.sources=help/src/main/java,help/web 
help.sonar.tests=help/src/test/java 
help.sonar.binaries=help/bin 
help.sonar.junit.reportsPath=help/test/reports/junitreport 
help.sonar.surefire.reportsPath=help/test/reports/junitreport 
help.sonar.jacoco.reportPath=help/coverage/help.exec 
+0

En üst düzeyde özellikleri belirtirseniz Her modül için bunları geçersiz kılmak zorunda: https://github.com/SonarSource/sonar-examples/blob/master/projects/multi-module/sonar-runner/java-sonar-runner-modules-different-structures/sonar- project.properties – jondro

0

Bu benim için çalıştı: sonar otomatik basedir/modül_ismi/hedef/SureFire-raporlarına