2014-11-14 7 views
9

Ich habe ein Multi-Modul-Projekt mit Gradle (2.2) + JaCoCo + Sonar. Ich verwende das sonar-runner Plugin, und wenn ich die Tests durchführe, kann ich in jedem Modul den Testbericht unter build/jacoco/jacoco.exec sehen. So weit, ist es gut.JaCoCo Konfiguration, wenn Sources und Tests Klassen in verschiedenen Modulen sind

Das Problem ist, ich habe einige Tests in Modul A, die Klassen von anderen Modul B testen, und damit JaCoCo die Klassen von Modul B mit 0% Code-Coverage identifiziert. Ich weiß, das ist keine gute Übung, aber es muss so gemacht werden.

Beispiel der Struktur:

moduleA 
    src 
     java 
      Foo 
     test 
moduleB 
    src 
     java 
     test 
      TestFoo 

Dann JaCoCo zeigt die Klasse Foo mit 0% Deckung. Ich habe versucht, die Ergebnisse von allen Modulen zusammenzuführen, aber ich bekomme das gleiche Ergebnis, aber in einer einzigen Datei, das ist also nicht das, wonach ich suche. Gibt es eine Möglichkeit, Quellen aus anderen Modulen einzubinden, wenn der JaCoCo-Bericht ausgeführt wird?

Danke.

Antwort

0

Jedes Modul benötigt eigene Tests. Jacoco erstellt jedes Modul jacoco.exec nach dem Modul und kann nicht zu einem vorherigen Modul zurückkehren. Du musst also einen TestFoo in moduleA setzen.