Phpunit: Répéter les tests échoués

Créé le 23 janv. 2017  ·  4Commentaires  ·  Source: sebastianbergmann/phpunit

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 :

  • L'utilisateur peut utiliser --repeat-fails pour répéter uniquement les derniers tests ayant échoué (_sans réexécuter tout_);
typenhancement

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é !

Tous les 4 commentaires

@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.

Cette page vous a été utile?
0 / 5 - 0 notes