Am utilizando PHPUnit para la unidad de pruebas de mis funciones, cuando cada vez ninguna advertencia se produce en el código de la escritura de la prueba no se ejecutará para que las funciones, puede alguien decirme cómo hacer caso omiso de las advertencias y proceder con la pruebaHaciendo caso omiso de las advertencias de PHP en la PHPUnit
Respuesta
Como Juhana comentó, primero debes arreglar tu código donde aparecen las advertencias. Es una señal de que el código no funciona correctamente/estrictamente.
De forma predeterminada, PHPUnit convierte los errores de PHP, las advertencias y los avisos que se activan durante la ejecución de una prueba en una excepción.
Ver Testing PHP Errors que tiene más información cómo probar sus advertencias (y cómo hacer caso omiso de las advertencias en sub-rutinas que llaman en las pruebas).
Para desactivar el comportamiento predeterminado, puede decirle a PHPUnit que lo haga en sus pruebas, p. dentro del setUp
de la prueba o la prueba en sí estableciendo una variable estática en el espacio de nombres global:
# Warning:
PHPUnit_Framework_Error_Warning::$enabled = FALSE;
# notice, strict:
PHPUnit_Framework_Error_Notice::$enabled = FALSE;
Otra opción para cambiar el comportamiento por defecto es configure the testrunner with an XML file con los siguientes valores:
<phpunit convertErrorsToExceptions="false"
convertNoticesToExceptions="false"
convertWarningsToExceptions="false">
</phpunit>
Estos tres opciones no están disponibles como conmutadores de línea de comandos.
Ver también la pregunta relacionada: test the return value of a method that triggers an error with PHPUnit.
agradece u funciona con "# aviso, estricta: PHPUnit_Framework_Error_Notice :: $ enabled = FALSO; " –
me trató de usar esto para probar algunas operaciones de archivo con vfsStream. Desactivar las excepciones PHP_Unit no funcionó (debido a algunos chmod() que no son compatibles). Después de todo, tengo que usar un buen y antiguo operador de silencio '@'. – Zap
La estrategia documentada para hacer esto a nivel de prueba es utilizar el operador de supresión de errores @
cuando su prueba invoca la función que provocaría una advertencia o aviso.
El código siguiente es el ejemplo de la PHPUnit documentation:
<?php
class ErrorSuppressionTest extends PHPUnit_Framework_TestCase
{
public function testFileWriting() {
$writer = new FileWriter;
$this->assertFalse(@$writer->write('/is-not-writeable/file', 'stuff'));
}
}
class FileWriter
{
public function write($file, $content) {
$file = fopen($file, 'w');
if($file == false) {
return false;
}
// ...
}
}
- 1. haciendo caso omiso de las carpetas en mercurial
- 2. Haciendo caso omiso de una propiedad durante la deserialización
- 3. Documentos PHP Dom: conseguir textContent haciendo caso omiso de las etiquetas y comentarios del guión
- 4. el relleno de separación, haciendo caso omiso de que
- 5. haciendo caso omiso del símbolo (@) en los archivos MAKE
- 6. Separar una cadena en bi-gramos, haciendo caso omiso de ciertas etiquetas
- 7. DotNetZip: ¿Cómo extraer los archivos, pero haciendo caso omiso de la ruta en el archivo zip?
- 8. Javascript: Separar una cadena por una coma, pero haciendo caso omiso de las comas en las citas
- 9. Haciendo caso omiso de los comentarios del estilo C en un analizador del combinador de Scala
- 10. Haciendo caso omiso del selector CSS específico de Webkit en Firefox
- 11. Haciendo que PHPUnit ignore las cosas?
- 12. ¿Por qué es NHibernate Fluent haciendo caso omiso de mi restricción única en un componente?
- 13. validación discreto haciendo caso omiso de los atributos de datos-val, pero trabajar con class = "required"
- 14. Separar una cadena, haciendo caso omiso de delimitador entre comillas (pitón)
- 15. - [<CALayer: 0x5584190> pantalla]: Haciendo caso omiso del tamaño de capa falsa
- 16. Rieles: Haciendo caso omiso de los atributos inexistentes pasaron a crear()
- 17. Haciendo caso omiso del año en consultas SQL con el periodo
- 18. SVn ayuda haciendo caso omiso de una carpeta: 'objetivo explícito requerido'
- 19. Haciendo caso omiso del directorio al realizar una confirmación SVN en Eclipse
- 20. Haciendo sentido de las advertencias de CSS Lint
- 21. Geting "ventana ya se centró, haciendo caso omiso de la ganancia foco de: com.android.internal.view.IInputMethodClient $ Trozo $ Proxy" en Android
- 22. ¿Debo hacer caso a las advertencias de Derek Sivers sobre migrar de PHP a Rails?
- 23. TastyPie - Override_urls hace caso omiso de autenticación y autorización
- 24. "git describir" hace caso omiso de una etiqueta
- 25. Java xstream - ¿Cómo hacer caso omiso de algunos elementos
- 26. Haciendo el caso de IronRuby e IronPython
- 27. Advertencias de biblioteca dinámica de PHPUnit: no se encontró la imagen
- 28. esperan guión + cómo hacer caso omiso de las cadenas, si no aparece
- 29. Normalizar el caso de las teclas de matriz en PHP
- 30. Cómo hacer caso omiso de etiquetas de palabras clave de CVS en diff Eclipse
Me parece que la prueba de la unidad está funcionando como debiera. Repare el código para que no arroje advertencias o errores. – JJJ
@Juhana: Solo necesito devolver el valor de la función. No me preocupan las advertencias. La función que estoy probando funciona bien. –
En un contexto de trabajo en equipo, a veces tienes que probar tu propio paquete, y no tienes tiempo/credenciales/misión para limpiar los otros paquetes (que pueden arrojar advertencias simplemente porque existen, incluso no llamadas) por lo que el "Soluciona el código "el comentario parece irrelevante cuando solo quieres probar una función específica. – Xmanoux