cobertura-maven-plugin exclut de configuration
J'ai un projet Maven avec un cas de test DefaultViewTypeToFragmentMapperTest.java
dans le répertoire /src/test/java/test/com/mycompany/myproduct/android/viewtype2fragmentmapper/
.
Je veux que ce cas de test à être exclus de l'unité de test de calcul du taux de couverture. Pour parvenir à ce résultat, j'ai configuré le plugin comme ceci:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
<instrumentation>
<excludes>
<exclude>test/co/**/*.class</exclude>
</excludes>
</instrumentation>
</configuration>
</plugin>
Mais je vois encore de ladite classe dans le rapport de couverture.
Comment puis-je résoudre ce problème, tels que les cas de test n'apparaît pas dans le rapport et de sa couverture (0 %, selon le rapport) n'est pas pris en compte?
Avez-vous configuré la cobertura-maven-plugin comme une partie de la déclaration ou de construire? Si vous avez configuré les rapports, merci d'utiliser le
Je l'ai configuré comme faisant partie de la
J'ai découvert que le plugin est utile pour l'enregistrement de débogage. L'activer avec
mvn site
. Si vous souhaitez exécuter mvn cobertura:cobertura
, veuillez configuré comme une génération. Veuillez voir ma réponse à stackoverflow.com/questions/15133822/... pour plus d'informations.Je l'ai configuré comme faisant partie de la
<reporting>
nœud et je l'utilise uniquement dans la portée de mvn site
.J'ai découvert que le plugin est utile pour l'enregistrement de débogage. L'activer avec
mvn cobertura:... -X
OriginalL'auteur DP_ | 2013-03-05
Vous devez vous connecter pour publier un commentaire.
Après beaucoup d'essayer et d'échouer, j'ai eu de travail.
Je l'ai eu à travailler avec:
Changement " aaa " avec le début du nom du paquet à être exclus.
Changement de " bbb " avec votre nom de package que vous souhaitez exclure du rapport.
J'espère que cela aide,
Marc Andreu
OriginalL'auteur marcandreuf
Vous devez utiliser le
<ignore>
tag.<exclude>
utilisé dans<instrumentation>
simplement exclut le package à partir de ce que votre instrumentant. Dans ce cas, n'est rien parce que vous ne faites rien.Veuillez voir le Mojo Maven Cobertura Plugin docs ici.
Bon, revenons-en à votre exclure instruction. Qu'est-ce que test/co/**/*.classe pour vous? Le test de votre tentative d'exclure n'est pas à l'intérieur de cette structure de paquet.
La documentation n'est pas vraiment expliquer la différence entre
exclude
ouignore
.OriginalL'auteur ninnemannk
Est-ce une faute de frappe?
<exclude>test/co/**/*.class</exclude>
.La co devrait être com.
BTW,
<ignores>
charge Cobertura d'ignorer tous les appels à la méthode, qui correspond à l'ignorer expression régulière. Il PAS ignorer ces classes au cours de instrumention. Pour exclure les classes de instrumenté,<excludes>
doit être utilisé.The test.co.mycompany.*
nom du package est correct.Bien le nom de votre dossier ne correspond pas à un nom de package. Vous avez besoin de mettre de la "com" de Votre post dit que le code est dans "/src/test/java/test/com/mycompany/myproduct/android"
OriginalL'auteur Lan
Vous ne devez pas ajouter le .la classe comme dans l'exemple ci
J'espère que cela peut aider.
retrait de l' .classe résolu pour moi
OriginalL'auteur Charlee Chitsuk
J'ai perdu deux heures de ma vie à obtention d'une exclusion pour Cobertura à exclure, mais finalement réussi.
La solution que j'ai trouvé, c'est que la configuration du plugin avec l'instrumentation & exclusion de la couverture-maven-plugin DOIT être dans la construction/plugins ou créer/pluginManagement chapitre de la pom, alors qu'il y aussi doit être une référence à la cobertura-maven-plugin dans le rapport du chapitre.
Le piège ici est que vous avez initialement commencer avec la définition du plug-in à la déclaration du chapitre, sinon pas de rapport est généré. Mais l'instrumentation elle-même ne ramasse pas de la configuration de la partie de la pom. Vous devez définir que dans la construction chapitre.
OriginalL'auteur BertKoor
En plus de BertKoor's réponse, je tiens à préciser que si vous êtes l'exécution de
mvn cobertura:cobertura
oumvn cobertura:cobertura-integration-test
directement, votre rapport sera encore inclure la couverture de tous les instrumenté les classes de découverte dans votre répertoire cible, tel que rapporté ici!Si c'est le cas, assurez-vous de ne
mvn **clean** cobertura:cobertura
afin de nettoyer la cible dir à partir d'une version précédente d'abord, et puis instrument et de l'exécution des tests.OriginalL'auteur George Aristy