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:
--repeat-fails
para repetir solo las últimas pruebas fallidas (_sin volver a ejecutar todas_);@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.
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!