Phpunit: expectExceptionMessageRegExp () a été supprimé dans PHPUnit 9 sans qu'un avertissement d'obsolescence ne soit donné dans PHPUnit 8

Créé le 6 mars 2020  ·  3Commentaires  ·  Source: sebastianbergmann/phpunit

| Q | UNE
| -------------------- | ---------------
| Version de PHPUnit | 9
| Version PHP | 7,3
| Méthode d'installation | Compositeur

Résumé

Le commit introduisant expectExceptionMessageMatches dit que expectExceptionMessageRegExp déclenchera un avertissement dans 9 et sera supprimé dans 10.
Mais la version 9.0 a complètement supprimé la méthode au lieu d'y ajouter un avertissement. Cela signifie que la méthode a été supprimée sans jamais signaler d'avertissement d'obsolescence lors de l'exécution de tests en l'utilisant.
Et il n'y a pas de changelog disant que cette méthode est obsolète (le changelog PHPUnit 8 ne parle pas de déprécier expectExceptionMessageRegExp et le changelog PHPUnit 9 dit qu'il est supprimé).

featurassertion typbug

Commentaire le plus utile

Eh bien, le commit initial avait pour but d'ajouter l'avertissement d'obsolescence dans 9 (voir le commit lié) et de supprimer dans 10. C'est pourquoi il n'y a pas d'avertissement dans 8.4 et 8.5.
Le problème est que la suppression a été effectuée sans suivre le plan initial et sans ajouter l'avertissement d'obsolescence dans 8.x, ce qui signifie qu'il n'y a aucun avertissement.

La valeur de l'avertissement est que je peux travailler sur la dépréciation en voyant l'avertissement (et tout à la fois), plutôt que d'avoir à corriger l'erreur fatale due à la méthode supprimée, en répétant cela pour chaque endroit en l'utilisant jusqu'à ce que je ne le fasse pas obtenir une erreur fatale plus (ou je pourrais rechercher expectExceptionMessageRegExp avec mon IDE en effet, mais alors ce n'est pas PHPUnit qui m'aide à mettre à niveau et cela pourrait justifier de ne pas utiliser du tout les avertissements d'obsolescence ...).
Si possible, je pense qu'il serait logique d'ajouter l'avertissement en 8.5, oui.

Tous les 3 commentaires

expectExceptionMessageMatches n'a été ajouté qu'en 8.4, c'est pourquoi l'annonce PHPUnit 8 n'en parle pas du tout.

expectExceptionMessageRegExp() est obsolète dans PHPUnit 8.4. Le fait que cette dépréciation ne soit pas signalée lorsque la méthode est utilisée est ennuyeux, je suis d'accord, mais y a-t-il vraiment de la valeur à ajouter ce comportement dans PHPUnit 8.5?

Eh bien, le commit initial avait pour but d'ajouter l'avertissement d'obsolescence dans 9 (voir le commit lié) et de supprimer dans 10. C'est pourquoi il n'y a pas d'avertissement dans 8.4 et 8.5.
Le problème est que la suppression a été effectuée sans suivre le plan initial et sans ajouter l'avertissement d'obsolescence dans 8.x, ce qui signifie qu'il n'y a aucun avertissement.

La valeur de l'avertissement est que je peux travailler sur la dépréciation en voyant l'avertissement (et tout à la fois), plutôt que d'avoir à corriger l'erreur fatale due à la méthode supprimée, en répétant cela pour chaque endroit en l'utilisant jusqu'à ce que je ne le fasse pas obtenir une erreur fatale plus (ou je pourrais rechercher expectExceptionMessageRegExp avec mon IDE en effet, mais alors ce n'est pas PHPUnit qui m'aide à mettre à niveau et cela pourrait justifier de ne pas utiliser du tout les avertissements d'obsolescence ...).
Si possible, je pense qu'il serait logique d'ajouter l'avertissement en 8.5, oui.

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

Questions connexes

greg0ire picture greg0ire  ·  4Commentaires

keradus picture keradus  ·  3Commentaires

rentalhost picture rentalhost  ·  4Commentaires

stephen-leavitt-sonyatv-com picture stephen-leavitt-sonyatv-com  ·  4Commentaires

dkarlovi picture dkarlovi  ·  3Commentaires