Автозагрузка классов для WordPress

Если вы используете у себя в проектах сотни require или include, то вам точно стоит прочесть эту статью. Зачем нужна автозагрузка? Автозагрузка (autoload) нужна для того, чтобы навсегда избавится от require, include и постоянного изменения порядка их подключения. Рассмотрим два вариант autoload: composer spl_autoload Autoload своих классов через composer В файл composer.json нужно добавить директиву …

ПодробнееАвтозагрузка классов для WordPress

Автоматизиция тестирования

Тестирование —  проверка соответствия между реальным и ожидаемым поведением программы. При изменении вашего кода, вам необходимо проверить, как эти изменения повлияли на работу приложения. После этого вам нужно воспроизвести как можно больше различных случаев, как реальные пользователи будут пользоваться вашим приложением. Убедившись, что приложение работает, можно считать свою работу выполненой. Вроде как очень простой и …

ПодробнееАвтоматизиция тестирования

Модульное тестирование(Unit tests) с помощью PHPUnit

Зачем нужны тесты и какие виды тестов должен писать разработчик вы можете узнать здесь. Модульные тесты главным образом пишутся в качестве хорошей практики, помогающей разработчикам выявлять и исправлять баги, проводить рефакторинг кода и служить в качестве документации для тестируемого программного модуля (программы). Для достижения этих преимуществ модульные тесты в идеале должны охватывать все возможные пути …

ПодробнееМодульное тестирование(Unit tests) с помощью PHPUnit

Модульное тестирование WordPress (PHPUnit, WP_Mock)

Кто еще не знаком с тестированием и модульным тестированием можете ознакомится: Автоматизация тестирования, Модульное тестирование с помощью PHPUnit. Тестирование тем и плагинов под WordPress имеет одну большую проблему — взаимодействие с ядром. Решить ее можно с помощью библиотеки 10up/WP_Mock. Библиотека 10up/WP_Mock помогает делать заглушки для ф-ций и классов из ядра WordPress. Установка библиотеки 10up/WP_Mock для …

ПодробнееМодульное тестирование WordPress (PHPUnit, WP_Mock)

Как тестировать Hard Dependencies в PHPUnit с помощью Mockery

Если у вас возникают вопросы: Что такое Hard Dependencies и почему это плохо? Вы можете прочитать в статье https://wp-punk.com/dependency-injection/. Внедрения зависимостей (Dependency Injection) один из основных принципов, которых нужно придерживаться для написание качественного кода. Но иногда мы сталкиваемся с проблемами, когда избежать зависимостей невозможно или же это занимает слишком много времени. Сложность заключается в том, …

ПодробнееКак тестировать Hard Dependencies в PHPUnit с помощью Mockery

Как тестировать константы?

Исходный код: class Constant { public function abspath() { return ABSPATH; } } Для тестирования необходимо немного изменить код. Константы необходимо получать через функцию constant: class Constant { public function abspath() { return constant( ‘ABSPATH’ ); } } Для тестирования используем библиотеку lucatume/function-mocker. Установим ее через composer: composer require lucatume/function-mocker В файле bootstrap.php инициализируем FunctionMocker: …

ПодробнееКак тестировать константы?