Von https://github.com/sebastianbergmann/phpunit/pull/3335#issuecomment -428570649 hierher verschoben.
Ersetzt auch #3180.
Das Entfernen des Parameters $maxDepth
aus assertEquals()
usw. wird alle Tests unterbrechen, die assertEquals()
mit optionalen Parametern verwenden, die nach $maxDepth
stehen.
Die einzige Möglichkeit, assertEquals()
zu bereinigen, die {hoffentlich|möglicherweise} weniger Probleme verursacht, wäre, drastischer aufzuräumen und nicht nur $maxDepth
zu entfernen, sondern auch alle optionalen Parameter, die danach kommen. Auch das ist nicht wirklich ansprechend.
All diese optionalen Parameter hätten niemals hinzugefügt werden dürfen, sie ergeben eine schreckliche API. Ich bin mir jedoch nicht sicher, ob der Vorteil der Bereinigung von assertEquals()
usw. durch das Entfernen dieser optionalen Parameter und das Hinzufügen spezifischerer Assertionsmethoden an ihrer Stelle den Schmerz des Kompatibilitätsbruchs aufwiegt.
Der einzige Parameter, den ich manchmal verwendet habe, ist der Fall ignorieren. Habe nie andere benutzt.
Die Migration zu einer dedizierten Behauptung dafür scheint mir ein vernünftiger Upgrade-Pfad zu sein.
Ersetzt durch #3341.
Hilfreichster Kommentar
Das Entfernen des Parameters
$maxDepth
ausassertEquals()
usw. wird alle Tests unterbrechen, dieassertEquals()
mit optionalen Parametern verwenden, die nach$maxDepth
stehen.Die einzige Möglichkeit,
assertEquals()
zu bereinigen, die {hoffentlich|möglicherweise} weniger Probleme verursacht, wäre, drastischer aufzuräumen und nicht nur$maxDepth
zu entfernen, sondern auch alle optionalen Parameter, die danach kommen. Auch das ist nicht wirklich ansprechend.All diese optionalen Parameter hätten niemals hinzugefügt werden dürfen, sie ergeben eine schreckliche API. Ich bin mir jedoch nicht sicher, ob der Vorteil der Bereinigung von
assertEquals()
usw. durch das Entfernen dieser optionalen Parameter und das Hinzufügen spezifischerer Assertionsmethoden an ihrer Stelle den Schmerz des Kompatibilitätsbruchs aufwiegt.