Phpunit: Repetir pruebas fallidas

Creado en 23 ene. 2017  ·  4Comentarios  ·  Fuente: sebastianbergmann/phpunit

Es un complemento para el # 1022 cerrado por la versión 5.0.

Supongo que una línea de comando como --repeat debería ser útil para probar primero las últimas pruebas fallidas.

Debería funcionar así: cuando ejecute phpunit, creará un archivo temporal que debe tener la información sobre cualquier prueba fallida (básicamente: clase y nombre de prueba e índice de prueba si usa un proveedor de datos).

[
    { "class": "MyTest", "method": "testSingle", "index": null },
    { "class": "MyTest", "method": "testWithDataProvider", "index": 14 },
    { "class": "MyTest", "method": "testWithDataProvider", "index": 19 },
]

Después de un error, el usuario puede usar el comando --repeat para hacer que phpunit ejecute inicialmente estas pruebas fallidas. Si no se encuentran más errores, phpunit podría continuar ejecutando todas las demás pruebas (excepto las que fallaron anteriormente).


Caso de ejemplo:

> phpunit
FAILURES!
Tests: 100, Assertions: 500, Failures: 3.

1. MyTest::testSingle() expects string by get int;
2. MyTest::testWithDataProvider()#14 expects 5 but get 6;
3. MyTest::testWithDataProvider()#19 expects 8 but get 90;

Después de corregir solo dos errores:

> phpunit --repeat
Rerunning last fails...

FAILURES!
Tests: 100, Assertions: 500, Failures: 1.

1. MyTest::testWithDataProvider()#14 expects 5 but get 18;

Después de corregir el último error:

> phpunit --repeat
Rerunning last fails... OK.
Running all others tests...

OK (100 tests, 500 assertions)

Comandos adicionales:

  • El usuario puede usar --repeat-fails para repetir solo las últimas pruebas fallidas (_sin volver a ejecutar todas_);
typenhancement

Comentario más útil

¡Me encantaría involucrarme en esto, haber soñado con cosas similares (y haber fallado en bash-scripting) en el pasado!

Todos 4 comentarios

@lstrojny ¿Todavía estás interesado en mover https://github.com/lstrojny/phpunit-clever-and-smart al núcleo de PHPUnit?

@sebastianbergmann ¿Tengo que trabajar para ello? 😉 Con toda seriedad, estoy demasiado abrumado para hacerlo, pero estaría totalmente a favor de phpunit-inteligente-e-inteligente para ser parte de phpunit.

¡Me encantaría involucrarme en esto, haber soñado con cosas similares (y haber fallado en bash-scripting) en el pasado!

Duplicado del # 46.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

keradus picture keradus  ·  4Comentarios

ezzatron picture ezzatron  ·  3Comentarios

sebastianbergmann picture sebastianbergmann  ·  4Comentarios

dciancu picture dciancu  ·  3Comentarios

keradus picture keradus  ·  3Comentarios