Перенесено сюда с https://github.com/sebastianbergmann/phpunit/pull/3335#issuecomment -428570649.
Также заменяет #3180.
Удаление параметра $maxDepth
из assertEquals()
и т. д. разрушит все тесты, использующие assertEquals()
с необязательными параметрами, которые идут после $maxDepth
.
Единственный способ очистить assertEquals()
, который {надеюсь|возможно} вызовет меньше проблем, — это более радикальная очистка и удаление не только $maxDepth
, но и всех необязательных параметров, которые идут после него. Это тоже не особо привлекает.
Все эти необязательные параметры никогда не должны были быть добавлены, они делают ужасный API. Однако я не уверен, перевешивает ли польза от очистки assertEquals()
и т. д. путем удаления этих необязательных параметров и добавления вместо них более конкретных методов утверждений боль от нарушения совместимости.
Единственный параметр, который я иногда использовал, это игнорирование регистра. Никогда не пользовался никаким другим.
Переход на специальное утверждение для меня кажется разумным путем обновления.
Заменено № 3341.
Самый полезный комментарий
Удаление параметра
$maxDepth
изassertEquals()
и т. д. разрушит все тесты, использующиеassertEquals()
с необязательными параметрами, которые идут после$maxDepth
.Единственный способ очистить
assertEquals()
, который {надеюсь|возможно} вызовет меньше проблем, — это более радикальная очистка и удаление не только$maxDepth
, но и всех необязательных параметров, которые идут после него. Это тоже не особо привлекает.Все эти необязательные параметры никогда не должны были быть добавлены, они делают ужасный API. Однако я не уверен, перевешивает ли польза от очистки
assertEquals()
и т. д. путем удаления этих необязательных параметров и добавления вместо них более конкретных методов утверждений боль от нарушения совместимости.