Ik ben codedekking aan het opzetten voor een Java-applicatie met meerdere modules. De applicatie heeft integratie- / functionele tests die zich over verschillende modules uitstrekken. module-service
, module-dao
en module-api
zouden bijvoorbeeld worden uitgeoefend door een enkele functionele test.
Ik heb de volgende vereisten:
-
Rapporteer transitieve codedekking over alle drie modules: Tests zijn alleen aanwezig in
module-service
, maar ze oefenen ook code uit in de andere twee modules. Ik gebruik momenteel JaCoCo voor codedekking omdat het deze transitieve dekking kan berekenen via zijn run-time instrumentatiefunctie. -
Filter ongewenste functies (geen klassen) uit dekking: Een aantal hulpmiddelen voor het verbeteren van de compilatie genereren synthetische methoden en / of codeblokken in de gecompileerde code. Dit vertraagt de dekking aanzienlijk voor kleinere klassen.
Ik heb Cobertura en Emma geprobeerd (die alleen [2] ondersteunen) en JaCoCo (die alleen [1] ondersteunt). Is er een goede bibliotheek die beide doelstellingen ondersteunt?