Я разбираюсь в PHPUnit и пытаюсь создать тестовый пример для существующего класса.
Этот класс является классом статической конфигурации, получение, установка и перечисление параметров конфигурации, которые будут доступны вПриложение.
Класс очень строго построен.Если я пытаюсь установить параметр конфигурации с несовместимым значением или параметр конфигурации, который не существует, выдается E_USER_ERROR
, что останавливает выполнение сценария.Даже если это не изобразительное искусство обработки ошибок, оно отлично работает для целей этого класса.Ошибка в этом классе всегда является результатом программной ошибки, а не неправильного пользовательского ввода.
Это имеет большое преимущество, так как вам не нужно беспокоиться о том, как сообщения об ошибках обрабатываются или записываются в журнал, что делает код тонким.Вывести сообщение (или нет, в производстве), die (), done.
Однако в модульных тестах я не понимаю, как мне продолжать работать с классическими ошибками PHP.Мне придется преобразовать функции, чтобы они возвращали флаги успеха или создавали исключения.
Я прав?
Или в PHPUnit есть способ ожидать ошибки, как и исключения?Я не вижу ничего сразу.