2014-11-14 23 views
9

Ho un progetto multi-modulo con Gradle (2.2) + JaCoCo + Sonar. Uso il plug-in sonar-runner e quando eseguo i test, in ciascun modulo è possibile vedere il rapporto di prova sotto build/jacoco/jacoco.exec. Fin qui tutto bene.Configurazione JaCoCo quando le sorgenti e le classi di test sono in moduli diversi

Il problema è che ho alcuni test nel modulo A che stanno testando le classi da altri moduli B, e in modo che JaCoCo stia identificando le classi dal modulo B con lo 0% di copertura del codice. So che questa non è una buona pratica, ma deve essere fatta in questo modo.

Esempio della struttura:

moduleA 
    src 
     java 
      Foo 
     test 
moduleB 
    src 
     java 
     test 
      TestFoo 

Poi JaCoCo mostrerà la classe Foo con una copertura 0%. Ho provato a unire i risultati di tutti i moduli, ma ottengo lo stesso risultato ma in un singolo file, quindi non è quello che sto cercando. C'è qualche opzione per includere fonti da altri moduli durante l'esecuzione del rapporto JaCoCo?

Grazie.

risposta

0

ogni modulo ha bisogno dei propri test. Jacoco costruisce ogni modulo jacoco.exec dopo il modulo e non può tornare a uno precedente. Quindi devi impostare un TestFoo nel moduloA.