2012-01-03 10 views
5

Me gustaría excluir hashCode y equals del informe trébol.
Algún ejemplo de configuración sería bueno.¿Cómo puedo excluir un método (hashcode e igual) del informe de cobertura de trébol?

+3

¿Por qué no le gustaría probar esos métodos? Creo que es un error – duffymo

+0

¿Has encontrado alguna solución para esto? Sería muy bueno si pudieras compartir – add9

+0

no ... todavía no hay solución, en realidad he ignorado este problema por ahora ... –

Respuesta

1

que tiene que hacer dos pasos:

1) Definir contextos método en el < trébol configuración > tarea que contiene expresiones regulares para los métodos que desea hacer coincidir, por ejemplo:

<clover-setup ...> 
    <methodContext name="equals" regexp="public boolean equals\(.*\)"/> 
    <methodContext name="hashCode" regexp="public int hashCode\(\)"/> 
</clover-setup> 

2) definir qué contextos método deberá ser excluido del informe en el < trébol informe > tarea

<clover-report> 
    <current outfile="clover_html" title="My Coverage"> 
    <format type="html" filter="equals,hashCode"/> 
    </current> 

Más información:

3

Me gustaría excluir hashCode y es igual a un informe de trébol.

Respetuosamente sugiero que realmente pruebe estos métodos en lugar de evitarlos. Pueden ocurrir errores graves si no son consistentes con las especificaciones. Me he encontrado con NPE y otros problemas en los métodos hashCode y equals mal escritos también. Aquí está un gran vínculo con un número de maneras que usted puede probar sus métodos:

How should one unit test the hashCode-equals contract?

se utiliza la siguiente LocalEqualsHashCodeTest que puede ampliarse mediante una prueba de unidad:

http://pastebin.com/L03fHAjv

A continuación, define un método createInstance() whi ch devuelve una instancia de su clase y un método createNotEqualInstance() que devuelve otra instancia que no es igual a la primera.

+3

No pregunté cuando tiene sentido probar equals/hashcode, o cómo hacerlo pero, cómo excluirlos de trébol –

+3

Eso está bien @MaciejMiklas. Solo quería darte una forma diferente de ver las cosas. Las toneladas de respuestas en SO no abordan la pregunta específica, pero alientan al cartel a que se vea de manera diferente. El hecho es que no lo sé, pero considero que es una mala práctica no probarlos. – Gray

+2

Es curioso, vine aquí en busca de una forma de excluir de mi informe de sitio de cobertura el código hash e iguales, pero en realidad su camino (probándolos con esa clase de utilidad) parece mucho mejor. ¡Así que gracias! (Por cierto, no entiendo por qué OP fue tan duro con tu respuesta ...) – juancancela

Cuestiones relacionadas