100 дней ответов на StackOverflow

Все разработчики знают такой сервис как StackOverflow(SO). Для тех, кто не знает — это самая популярная система вопрос/ответ для разработчиков и администраторов. На платформе можно найти идеи для своих реализаций в виде кода, задавать вопросы и отвечают на них. Метки и фильтры Мир ИТ сейчас достаточно широк и разбираться во всем невозможно, поэтому нужно отметить …

Подробнее

WordPress Coding Standards(WPCS)

WPCS — это набор правил PHP_CodeSniffer (сниффы) для проверки кода, разработанного для WordPress. Он обеспечивает качество кода и соблюдение соглашений официальных стандартов кода для WordPress. Если вы работаете в команде из более 1-го человека, то стоит подумать о едином стандарте коде (code style). Даже если вы в своей команде смогли договорится о каком-то стандарте, то …

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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

Исходный код: 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: …

Подробнее