2010-08-20 24 views
5

¿Es posible usar Cobertura para decirle que ignore ciertos bits de código que se identifican por los comentarios de inicio y final?Configure cobertura para ignorar ciertos bloques de código

Por ejemplo,

public class Foo { 

    public void static doSomething() { 
     ... 
     // Cobertura-Ignore-Start 
     ... 
     // Cobertura-Ignore-End 
} 

daría lugar a Cobertura sin incluir el código entre el inicio y el fin a los comentarios en el cálculo de las estadísticas de cobertura.

Editar: Estoy usando la tarea de cobertura Ant.

+0

¿por qué le gustaría hacer esto? –

+0

Muchas razones pero daré un ejemplo. Supongamos que tiene una clase de prueba y el código se ve así: public void testSomething() {try {doSomething(); fallar(); } catch (Exception e) {// check exception}} - así que, esencialmente, esto es una prueba para asegurarse de que doSomething() lanzará una excepción, pero fail(); nunca se llamará a menos que su prueba esté realmente rota. Por lo tanto, si desea una cobertura de prueba del 100% y si todas sus pruebas pasan como deberían, la línea que contiene fail(); necesitaría indicarse como una línea que no debería ser verificada por cobertura. Espero que tenga algo de sentido. – digiarnie

+0

Cómo no dejar de recibir llamadas afecta la cobertura de su código ... ya que esto es parte de la clase de prueba ... –

Respuesta

5

No, no es posible. Cobertura no tiene una función que le permita omitir el código. Lo único que puede ignorar son las llamadas a métodos a ciertos paquetes y/o clases.

Probablemente tendrías que profundizar en el código y ver si es posible extenderlo de forma tal que se ignoren los bloques.

0

Puede ignorar en el nivel de clase solo hasta donde yo sé (lo que significa que no se cuenta ningún método de las clases ignoradas, aunque está instrumentado, por lo que no se acelera al hacerlo).

Cuestiones relacionadas