2010-07-08 22 views

Respuesta

16

Si está tratando de alcanzar el 100% de cobertura de código pero tiene una o más líneas que no puede probar, puede rodearlas con anotaciones especiales. Se ignorarán en el informe de cobertura del código.

if (($result = file_get_contenst($url)) === false) { 
    // @codeCoverageIgnoreStart 
    $this->handleError($url); 
    // @codeCoverageIgnoreEnd 
} 

Editar: he encontrado que Xdebug menudo considera la llave de cierre debe ser ejecutable. :(Si eso sucede, mueva la etiqueta de cierre por debajo de ella

+0

Tenía una versión anterior de PHPUnit, por lo que el código no funcionaba. Lo descubrí, pero gracias. Incluso una mejor solución es usar phpunit.xml => Publicar respuesta .. – Alfred

+0

Confirmado con PHPStorm: es necesario mover la etiqueta final después del corchete de cierre. – tivnet

2

En primer lugar asegúrese de que tiene la mejor y más PHPUnit o bien ignorar el código puede ser que falte A continuación, cree un archivo phpunit.xml que se ve algo como esto:..

<phpunit colors="true"> 
    <filter> 
     <blacklist> 
      <file>file1.php</file> 
      <file>file2.php</file> 
     </blacklist> 
    </filter> 
</phpunit> 
+4

Su pregunta acerca de la exclusión de líneas y bloques no hará lo anterior: ignora los archivos completos. Además, si usa una lista blanca (mi compañía sí), se ignora la lista negra. –

+0

Oops gracias David. Esta pregunta fue hecha hace tanto tiempo y en el título dice archivo. Pero gracias por la información. – Alfred

20

de ignorar método bloques de código:

/** 
* @codeCoverageIgnore 
*/ 
function functionToBeIgnored() { 
    // function implementation 
} 

hacer caso omiso de los bloques de código de clase:

/** 
* @codeCoverageIgnore 
*/ 
class Foo { 
    // class implementation 
} 

Y como dijo @ David-Harkness, hacer caso omiso de las líneas individuales:

// @codeCoverageIgnoreStart 
print 'this line ignored for code coverage'; 
// @codeCoverageIgnoreEnd 

Más información puede ser encontrado en el PHPUnit Documentation bajo la Haciendo caso omiso de los bloques de código partida.

Cuestiones relacionadas