Déplacé ici depuis https://github.com/sebastianbergmann/phpunit/pull/3335#issuecomment -428570649.
Remplace également #3180.
La suppression du paramètre $maxDepth
de assertEquals()
etc. cassera tous les tests qui utilisent assertEquals()
avec des paramètres optionnels qui vont après $maxDepth
.
La seule façon de nettoyer assertEquals()
qui {espérons-le|probablement} cause moins de problèmes serait de nettoyer plus radicalement et non seulement de supprimer $maxDepth
mais aussi tous les paramètres optionnels qui viennent après. Cela aussi n'est pas vraiment attrayant.
Tous ces paramètres optionnels n'auraient jamais dû être ajoutés, ils font une API terrible. Je ne suis pas sûr, cependant, si l'avantage de nettoyer assertEquals()
etc. en supprimant ces paramètres facultatifs et en ajoutant des méthodes d'assertion plus spécifiques à leur place l'emporte sur la douleur de briser la compatibilité.
Le seul paramètre que j'ai utilisé parfois est celui d'ignorer la casse. Jamais utilisé d'autre.
Migrer vers une assertion dédiée pour cela me semble un chemin de mise à niveau raisonnable.
Remplacé par #3341.
Commentaire le plus utile
La suppression du paramètre
$maxDepth
deassertEquals()
etc. cassera tous les tests qui utilisentassertEquals()
avec des paramètres optionnels qui vont après$maxDepth
.La seule façon de nettoyer
assertEquals()
qui {espérons-le|probablement} cause moins de problèmes serait de nettoyer plus radicalement et non seulement de supprimer$maxDepth
mais aussi tous les paramètres optionnels qui viennent après. Cela aussi n'est pas vraiment attrayant.Tous ces paramètres optionnels n'auraient jamais dû être ajoutés, ils font une API terrible. Je ne suis pas sûr, cependant, si l'avantage de nettoyer
assertEquals()
etc. en supprimant ces paramètres facultatifs et en ajoutant des méthodes d'assertion plus spécifiques à leur place l'emporte sur la douleur de briser la compatibilité.