2014-04-06 12 views
8

Używam SonarQube w pracy Jenkinsa (przy użyciu akcji Post-build). Dostaję następujący problem z JaCoCo -SonarQube - brak danych wykonania JaCoCo zostało porzucone

[INFO] [16:57:43.157] Sensor JaCoCoSensor... 
[INFO] [16:57:43.157] Project coverage is set to 0% as no JaCoCo execution data has been dumped: /var/lib/jenkins/.../target/jacoco.exec 
[INFO] [16:57:43.426] Sensor JaCoCoSensor done: 269 ms 

W efekcie dostaję 0% pokrycia kodu dla mojego projektu. Nie można znaleźć przyczyny, dla której jacoco.exec nie jest tworzony.

Nie mam "JaCoCo" skonfigurowanego do uruchamiania przez maven (w moim pom.xml). Wiem, że w przeszłości został utworzony jacoco.exec (prawdopodobnie sam Sonar).

Co robię źle? Czy muszę skonfigurować JaCoCo w moim pliku pom.xml, aby działał? Dzięki.

+0

Przeglądałeś https://github.com/SonarSource/sonar-examples/tree/1fca5c965196c0f30ef8fa4c79ace36b40ec3753/projects/languages/java/code-coverage/ut/ut-maven-jacoco-runTests? – ZhekaKozlov

+0

W jaki sposób powinienem go używać w mojej pracy z dżinsami? Gdzie powinienem użyć "-Pochodzenia-za-test" w konfiguracji zadania? –

Odpowiedz

4

Od internecie Java Ecosystem:

To nie jest już możliwe, aby pozwolić SonarQube jazdy wykonanie testów jednostkowych . Musisz teraz wygenerować raporty JUnit i kod (JaCoCo lub Cobertura lub Clover) przed analizą SonarQube , a następnie przesłać SonarQube z tymi raportami.

Więc trzeba to Jacoco w pom.xml:

<plugin> 
     <groupId>org.jacoco</groupId> 
     <artifactId>jacoco-maven-plugin</artifactId> 
     <version>0.7.0.201403182114</version> 
    <configuration> 
     <destFile>${basedir}/target/jacoco-unit.exec</destFile> 
     <dataFile>${basedir}/target/jacoco-unit.exec</dataFile> 
    </configuration> 
     <executions> 
      ... 
     </executions> 
    </plugin> 

I dać ten plik danych do SonarQube:

sonar.jacoco.reportPath=target/jacoco-unit.exec 
1

Według tego blog można włączyć tworzenie jacoco.exec pliki, dodając sekcję wtyczki do twojej pom.xml (zadziałało to dla mnie):

<plugin> 
    <groupId>org.jacoco</groupId> 
    <artifactId>jacoco-maven-plugin</artifactId> 
    <version>0.7.1.201405082137</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>prepare-agent</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
Powiązane problemy