Sto eseguendo il test di integrazione su un'enorme base di codice. Nel rapporto sulla copertura voglio sapere quale test ha riguardato una determinata riga di codice. C'è comunque di farlo con jacoco?Trova quale test copre quale linea jacoco
risposta
JaCoCo non raccoglie tali informazioni, quindi non può segnalarlo.
In teoria, è possibile eseguire ogni test in modo indipendente con JaCoCo e generare un rapporto di copertura ogni volta, in questo modo ogni test mostra le esatte righe del codice testato. (quindi devi avvolgere questo con un rapporto aggregato personalizzato, suppongo, in cui puoi navigare da un test all'altro).
Ho capito che questo potrebbe non essere pratico con un'enorme base di codice e un gran numero di test. Un'altra limitazione è che non si arriva a "quali sono TUTTI i test che hanno esercitato quella linea di codice?".
Come ha osservato Rogério, altri strumenti potrebbero essere in grado di fornire tale funzionalità.
Jacoco lo fa, ma non per i test di integrazione. Solo per test unitari. http://i.imgur.com/RUq7Xhn.png – mattalxndr
Il sonar ha una copertura di prova. Vedi qui per qualche suggerimento. https://deors.wordpress.com/2014/07/04/individual-test-coverage-sonarqube-jacoco/ –
Abbastanza un link informativo ma c'è un modo per farlo senza Sonar? –
L'azione del sonar consente di navigare da ogni singolo test al set di file/righe di origine utilizzati dal test. Non lo fornisce nella direzione opposta, cioè da una linea in codice testato ai test che coprono la linea. JaCoCo stesso non ha il supporto per nessuno dei due. JMockit Coverage è uno strumento di copertura che fornisce la seconda funzionalità. –