Codice codice Creazione dei report del codice di creazione per il test unitario e l’integrazione con Jacoco Maven Plugin

x

Privacy and cookies

Questo sito utilizza i cookie. Continuando, accetti il tuo uso. Ottieni maggiori informazioni; Ad esempio, su come controllare i cookie.

capito

annunci

per gli sviluppatori che hanno usato il Plugin Maven Copertura Plugin, avranno scoperto con penalità che se si utilizzano la versione Java 1.7, questo plugin non funziona correttamente.

Come considero che sia molto importante eseguire l’analisi di copertura a cui ho cercato Prova a trovare un nuovo plugin che potrebbe eseguire le attività che ha fatto con il plugin di copertura e finalmente trovato la libreria di copertura del codice Jacoco.

Jacoco è un libreria gratuito per analizzare la copertura del test. Jacoco utilizza la libreria JVM standard.

jacoco

Il problema di questo plugin che ho trovato quando si è tenuti a configurarlo Non niente di semplice. Leggo abbastanza tutorial fino a quando non ti configurato. Questo blog punta ad essere un riepilogo dei passaggi seguiti per la sua configurazione.

Come sempre, riassumere i requisiti destinati a coprire con questa attività.

  • ha lo scopo di ottenere rapporti di copertura di entrambi i test unitario e l’integrazione.
  • Report devono essere generati su percorsi diversi, ovvero i report dei test dell’unità devono essere generati su un percorso diverso da cui è utilizzato per i test di integrazione.

Abbiamo iniziato con la configurazione.

Configurazione di jacoco maven plugin

In generale, il plugin Jacoco viene utilizzato con due scopi:

  • Fornire un accesso all’agente di runtime jacoco che registra l’esecuzione dei test.
  • Creare report di copertura del codice dall’esecuzione dei test registrati dall’agente Jacoco Runtime .

Per configurare il plugin JaCoCo. Questi passaggi devono essere seguiti:

  • include il plugin Jacoco Maven alla sezione Plugin del nostro o File Pom.xml
  • Configura i report di copertura del test dell’unità.
  • Configurare i report di copertura del test di integrazione.

A quindi descrivere ciascuno dei passaggi .

Includi il plugin Jacoco Maven alla sezione Pom.xml File Plugins

Per includere il plugin all’interno della sezione Plugin, l’istruzione Avanti nella sezione dei plugis del nostro file POM.XML

<plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.6.4</version></plugin>

Configurazione Segnala Copertura del test del Regno Unito.

Per configurare l’esecuzione della copertura del codice di test unitario Due esecuzioni devono essere aggiunte alla Dichiarazione del plug-in.

  • La prima esecuzione crea i punti dell’agente di runtime Jacoco. Ciò garantisce che i dati sulle prestazioni siano scritti nel file /tart/coverage-reports/jacoco.ut.ec. Il valore della proprietà a SureFireargline è stabilito. Questo valore viene superato come argomento della VM quando viene eseguito il test.
  • La seconda esecuzione crea il report della copertura del codice per i test dell’unità dopo essere stati eseguiti. Assicura che i dati vengano letti dal target / copertura-report / file jacococ-uxec. I report vengono salvati nella directory / target / sito / jacoco-ut.

La parte più importante della configurazione del plugin è scritta di seguito.

<plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.6.4</version> <executions> <!-- Prepara la propiedad para que el agente JaCoCo runtime será pasado como argumento VM cuando el plugin maven surefire sea ejecutado. --> <execution> <id>pre-unit-test</id> <goals> <goal>prepare-agent</goal> </goals> <configuration> <!-- Establece el path al archivo el cual contiene los datos de la ejecución. --> <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile> <!-- Establece el nombre de la propiedad que contiene la configuracion del agente VM runtime JaCoCo. --> <propertyName>surefireArgLine</propertyName> </configuration> </execution> <!-- Asegura que el informe de cobertura de codigo para test unitarios es creado después de ejecutar los test unitarios. --> <execution> <id>post-unit-test</id> <phase>test</phase> <goals> <goal>report</goal> </goals> <configuration> <!-- Establece el path del archivo que contiene los datos de ejecución. --> <dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile> <!-- Establece el directorio de salida para los informes de cobertura. --> <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory> </configuration> </execution> </executions></plugin>

Configurazione dei report di copertura del codice per i test di integrazione

Come la configurazione è stata inclusa per eseguire la copertura del codice per i test dell’unità può anche essere configurato per il test di integrazione, per loro dobbiamo Configurare il plug-in aggiungendo due esecuzioni al plugin.

  • La prima esecuzione crea i punti dell’agente di runtime Jacoco. Ciò garantisce che i dati di esecuzione vengano scritti nel file /tart/coverage-reports/jacoco.it.esec. Il valore della proprietà a FailSafeAfeAirgline è stabilito. Questo valore viene passato come argomento VM quando viene eseguito il test.
  • La seconda esecuzione crea il report della copertura del codice per i test di integrazione dopo essere stati eseguiti. Assicura che i dati vengano letti dal file /tart/coverage-reports/jacococ-it.esec. I report vengono salvati nella directory / target / sito / jacoco-it.

<plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.6.4</version> <executions> <!-- Las ejecuciones requeridas para test unitarios son omitidas. --> <!-- Prepara la propiedad para el agente runtime JaCoCo el cual es pasado como argumento de la VM cuando maven failsafe sea ejecutado. --> <execution> <id>pre-integration-test</id> <phase>pre-integration-test</phase> <goals> <goal>prepare-agent</goal> </goals> <configuration> <!-- Establece el path al archivo que contiene la información de ejecución. --> <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile> <!-- Establece la propiedad que contiene la configuración del agenteJaCoCo runtime agent. --> <propertyName>failsafeArgLine</propertyName> </configuration> </execution> <!-- Asegura que los informes de cobertura para los test de integración seran ejecutados despues de ejecutar los test de integracion. --> <execution> <id>post-integration-test</id> <phase>post-integration-test</phase> <goals> <goal>report</goal> </goals> <configuration> <!-- Establece el path al archivo que contiene los datos de ejecucion. --> <dataFile>${project.build.directory}/coverage-reports/jacoco-it.exec</dataFile> <!-- Establece el directorio de salida para los test de cobertura. --> <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory> </configuration> </execution> </executions></plugin>

Plugin Configurazione di Maven Surefire Plugin

Il plugin Plugin Maven SureFire verrà utilizzato per eseguire i test dell’unità. Poiché ciò che è destinato è quello di creare la copertura del codice dei test dell’unità, dobbiamo assicurarci che l’agente jacoco sia eseguito quando i nostri test vengono eseguiti.Per garantire questo possiamo aggiungere il valore della proprietà SureFireargline come valore della proprietà del plugin argline.

Di seguito includiamo le impostazioni commentate per il plugin del plugin di Maven Surefire:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.15</version> <configuration> <!-- Establece el argumento VM que sera usado cuando los test unitarios son ejecutados. --> <argLine>${surefireArgLine}</argLine> <!-- Salta los test unitarios cuando el valor de la propiedad skip.unit.tests es true --> <skipTests>${skip.unit.tests}</skipTests> <!-- Excluye los test de integracion cuando los test unitarios son ejecutados.. --> <excludes> <exclude>**/IT*.java</exclude> </excludes> </configuration></plugin>

Configurazione del plugin Maven Failsafe Plugin

Come già spiegato nella voce precedente, questo plug-in è quello utilizzato per eseguire i test di int gravità. Pertanto, maner analogo, per eseguire la copertura del codice del nostro test di integrazione, dobbiamo garantire che l’agente Jacoco venga eseguito quando vengono eseguiti i test di integrazione. Per questo, possiamo includere la configurazione del plugin il valore della proprietà FailSafeAirGline all’interno della proprietà Argline del plugin.

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>2.15</version> <executions> <!-- Asegura que tanto los test de integracion y los objetivos de failsafe maven plugin seran ejecutados. --> <execution> <id>integration-tests</id> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> <configuration> <!-- Establece el argumento VM usado cuando los test de integracion son ejecutados. --> <argLine>${failsafeArgLine}</argLine> <!-- Salta los test de integracion si el valor de la propiedad skip.integration.tests es true --> <skipTests>${skip.integration.tests}</skipTests> </configuration> </execution> </executions></plugin>

Rapporti di copertura del codice credente

  • Con tutto ciò abbiamo già tutto configurato per essere in grado di eseguire i report della copertura del codice. Successivamente configueremo a creare i report di copertura del codice per i test dell’unità e l’integrazione.
  • Il profilo Dev sarà eseguito durante lo sviluppo e sarà il profilo predefinito della nostra costruzione. Quando questo profilo viene eseguito, quindi verrà eseguito il test unitario.
  • Il profilo di test di integrazione verrà utilizzato per eseguire il test di integrazione.
  • Il profilo di test verrà utilizzato per eseguire Così tanti test unitati come integrazione.

Diversi report di copertura possono essere eseguiti eseguindo i seguenti comandi:

il comando MVN Clean Test esegue il comando Unità e creerà la copertura Report dell’unità di test nella directory / target / sito / jacoco-ut

Il comando MVN Clean Test -P Integration-Test eseguirà i test di integrazione e creerà i report di copertura del codice per i test di integrazione nella directory / Target / Sito / Jacoco-it.

Il comando MVN Clean Verify -P -P-TEST esegue i test dell’unità e l’integrazione e creare i report di copertura del codice dell’unità e di integrazione.

.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *