Comment exclure les classes à partir du calcul du taux de couverture en EclEmma sans les exclure de la couverture elle-même
Je suis en utilisant EclEmma pour tester la couverture de mon scénario de tests et de cas d'utilisation des tests sur mon projet.
J'ai un forfait de Base qui contient la plupart des classes générales et le cas d'utilisation des tests. La couverture ressemble à ceci:
Ce que je veux, c'est d'exclure les cas d'utilisation des tests (par exemple, BugReportTest) à partir du calcul du taux de couverture. Mais je veux que les tests à l'intérieur de la considérer. Je sais comment exclure de l'ensemble de la classe à partir de la couverture, mais si je fais ça, ma couverture % gouttes, car les tests de vérifier les lignes de mon code sont testées sont oubliés. Ces cas d'utilisation des tests n'ont besoin de rester dans le forfait de Base, parce que des raisons de confidentialité.
OriginalL'auteur Programmer1994 | 2016-05-03
Vous devez vous connecter pour publier un commentaire.
Pour des raisons techniques, il peut être nécessaire d'exclure certaines catégories d'analyse de couverture de code. Les options suivantes configurer la couverture de l'agent pour exclure certaines catégories de l'analyse. Sauf pour l'optimisation des performances techniques ou coin des cas, ces options ne sont normalement pas nécessaires.
Exclut: Une liste de noms de classe qui doivent être exclus de
exécution de l'analyse. Les entrées de la liste sont séparés par un
colon (:)
et peut utiliser
wildcard characters (* and ?). (Default: empty)
Exclure les chargeurs de classe: Une liste de chargeur de classe des noms qui devraient être
exclus de l'analyse d'exécution. Les entrées de la liste sont séparés par des
un
colon (:)
et peut utiliserwildcard characters (* and ?)
. Cette optionpourraient être nécessaires dans le cas de cadres qui sont en conflit avec
JaCoCo code de l'instrumentation, en particulier de la classe des chargeurs qui ne sont pas
avoir accès à la Java runtime classes.
(Default:
sun.reflect.DelegatingClassLoader)
Ressources Lien:
Les exemples suivants spécifient toutes le même ensemble d'inclusion/exclusion motifs:
<filter includes="com.foo.*" excludes="com.foo.test.*,
com.foo.*Test*" />
<filter includes="com.foo.*" /> <filter excludes="com.foo.test.*,
com.foo.*Test*" />
<filter value="+com.foo.*, -com.foo.test.*, -com.foo.*Test*" />
<filter excludes="com.foo.*Test*" file="myfilters.txt" />
où myfilters.txt fichier contient ces lignes:
-com.foo.test.*
+com.foo.*
Ressources Lien:
et pourtant, EMMA se plaint toujours qu'il manque des informations de débogage!
Ignorer la couverture de code par les tests unitaires dans EclEmma
Preferences->Java->Code Coverage
et définir la"Only path entries matching"
option poursrc/main/java
- semble fonctionner bienEn fait j'ai donné à la procédure d'exclusion. J'ai aussi donné quelques liens utiles. Vous pouvez passer par ce.
En sont exclus: la section comment nous devons nous donner le nom de la classe/nom du package , pouvez-vous veuillez donner un exemple , je veux dire, avez-celui de la classe/du colis doivent être com.abc,SomeClass.java ou com.abc/SomeClass.java
Excellent!!!!!!
OriginalL'auteur SkyWalker