
Unit tests matter
Или Roadmap для Unit тестов на WordPress.

Замена конструкций exit/die в unit-тестах
Если в коде вы используете die/exit то PHPUnit прекратит свою работу в этот момент. Для этого нам нужно заменить конструкцию exit
или die
. Но это сделать сложно т.к. Functions Mocker с этим не справляется.

Чудо Mockery для заглушек в unit тестах
Потрясающая библиотека Mockery, которая сделает вашу жизнь лучше во время написания тестов.

Модульное тестирование WordPress с помощью Brain Monkey
Кто еще не знаком с тестированием и модульным тестированием можете ознакомится: Автоматизация тестирования, Модульное тестирование с помощью PHPUnit.

Подмена встроенных php-функций
Часто при написании тестов необходимо протестировать внешнюю функцию или функцию, которая встроена в php.

Тестирование абстрактных методов
Объект абстрактного класса мы не можем создать напрямую. Поэтому работать с ним будем через stub
. Что такое stub
можно прочитать в статье про Модульное тестирование.

Вызов защищенных и приватных методов
Если вам понадобился данный трюк, то, скорее всего, вы имеете проблему в архитектуре вашего класса/приложения. Его использование — это крайняя мера.

Подмена защищенных и приватных свойств для тестирования
Иногда в тестах нам нужно прочитать/заменить protected
или private
свойство объекта.

Тестирование объектов с извращениями в конструкторе
Иногда разработчики добавляют в конструктор какие-то нежелательные эффекты, вызовы различных методов или зависимости с другими объектами.

Как тестировать константы
Константы можно протестировать при помощи Function Mocker.