2012-02-13 9 views
17

¿Alguien ha encontrado una buena solución para ignorar los métodos triviales?
¡Usar algunas pruebas automatizadas como Unitils no es realmente una opción, ya que la cobertura del código no debería aumentar si solo se prueban getters/setters!¿Todavía no hay una solución para ignorar setter/getter (otros métodos triviales) con el cover-maven-plugin?

Usando cobertrua-maven-plugin de la versión 2.5.1:
-) para ignorar los métodos no funciona <ignore>com.company.*.set*</ignore>
-) ¿Alguien trató de incluir un parche como http://sourceforge.net/tracker/index.php?func=detail&aid=3010530&group_id=130558&atid=720017 en el maven-plugin?
-) Alguien usa un plugin de prueba diferente (¿mejor?)

Una ignorancia general para cada método get/set/is * tampoco es una buena manera, ya que estos patrones se pueden usar en otros métodos, pero simle getter/setters. También debería ser fácil adivinar trivial getters/setters/constructors.

Sé de la pregunta: Ignore methods in class. cobertura maven plugin pero dado que no obtuvo ninguna respuesta relevante, pensé que le daría otra oportunidad.

Respuesta

13

Desde Cobertura 2.0 hay un interruptor para excluir métodos triviales:

[Cobertura Changelog] Nueva interruptor --ignoreTrivial que dice Cobertura de ignorar la siguiente en el informe de cobertura: métodos Getter que simplemente leen un campo de clase; Setter métodos que establecen un campo de clase; Constructores que solo configuran campos de clase y llaman a un constructor de clase super .

El cobertura-maven-plugin utiliza Cobertura 2.x desde la versión 2.6 (ver release notes). Pero todavía no he encontrado la manera de pasar el interruptor a la configuración del complemento maven.


Aunque parece que hay cierta confusión sobre el estado de esta función (ver este Jira issue), la bandera parece funcionar con la siguiente configuración:

<groupId>org.codehaus.mojo</groupId> 
<artifactId>cobertura-maven-plugin</artifactId> 
<version>2.6</version> 
<configuration> 
    <instrumentation> 
    <ignoreTrivial>true</ignoreTrivial>     
    </instrumentation> 
</configuration> 
+0

brillante, voy a probar y Revisar tan pronto como obtuve 5mins –

+0

excelente, tuve que verificar el código del complemento para el uso ya que no pude encontrarlo en ninguna parte (por lo tanto, incluirlo en la respuesta) –

+0

@AbGator ya estaba incluido (revisé el código) y funciona (está incluido en nuestro ciclo) ... compruebe antes de eliminar la información ya probada y de trabajo. –

1

El problema de la exclusión se fijó aquí:

http://jira.codehaus.org/browse/MCOBERTURA-52 

y es parte de la última versión (2.5.2). Está disponible desde el 10 de septiembre 2012:

http://search.maven.org/#search|gav|1|g%3A%22org.codehaus.mojo%22%20AND%20a%3A%22cobertura-maven-plugin%22 
Cuestiones relacionadas