C'est un complément du #1022 fermé par la version 5.0.
Je suppose qu'une ligne de commande comme --repeat
devrait être utile pour essayer les premiers tests qui ont échoué.
Cela devrait fonctionner comme ça : lorsque vous exécutez phpunit, il crée un fichier temporaire qui devrait contenir les informations sur tous les tests échoués (essentiellement : nom de classe et de test et index de test s'il utilise un fournisseur de données).
[
{ "class": "MyTest", "method": "testSingle", "index": null },
{ "class": "MyTest", "method": "testWithDataProvider", "index": 14 },
{ "class": "MyTest", "method": "testWithDataProvider", "index": 19 },
]
Après une erreur, l'utilisateur peut utiliser la commande --repeat
pour que phpunit exécute initialement ces tests qui ont échoué. Si plus aucune erreur n'est trouvée, alors phpunit pourrait continuer à exécuter tous les autres tests (sauf ceux qui ont échoué précédemment).
Exemple de cas :
> 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;
Après avoir corrigé deux erreurs seulement :
> phpunit --repeat
Rerunning last fails...
FAILURES!
Tests: 100, Assertions: 500, Failures: 1.
1. MyTest::testWithDataProvider()#14 expects 5 but get 18;
Après correction de la dernière erreur :
> phpunit --repeat
Rerunning last fails... OK.
Running all others tests...
OK (100 tests, 500 assertions)
Commandes supplémentaires :
--repeat-fails
pour répéter uniquement les derniers tests ayant échoué (_sans réexécuter tout_);@lstrojny Êtes-vous toujours intéressé à déplacer https://github.com/lstrojny/phpunit-clever-and-smart dans le noyau de PHPUnit ?
@sebastianbergmann Dois-je travailler pour cela ? 😉 Sérieusement, je suis trop submergé pour le faire mais je serais totalement pour que phpunit-clever-and-smart fasse partie de phpunit.
J'adorerais m'impliquer dans cela, j'ai rêvé de choses similaires (et j'ai échoué à les écrire en bash) dans le passé !
Duplicata du #46.
Commentaire le plus utile
J'adorerais m'impliquer dans cela, j'ai rêvé de choses similaires (et j'ai échoué à les écrire en bash) dans le passé !