Bootstrap для интеграционного тестирования плагинов WordPress с PHPUnit.
composer require --dev jdgrimes/wpppb
Во-первых, вам понадобится локальная проверка репозитория разработки WordPress, включая каталог tests
. Рекомендуемый способ получить это, особенно если вы собираетесь внести свой вклад в ядро WordPress, — использовать VVV. WPPPB основан на инструментах тестирования, уже включенных в ядро WordPress, поэтому без них он не будет работать.
Если у вас есть локальная копия каталога tests
WordPress, вы можете запустить сценарий настройки для WPPPB:
vendor/bin/wpppb-init
Ответьте на подсказки, и вы готовы к работе!
Ваши тесты будут помещены в каталог tests
, который будет создан в корне вашего проекта (т. е. рядом с каталогом vendor
добавленным Composer). Ожидается, что исходный код вашего плагина (часть, которая будет заархивирована и установлена на сайте WordPress) будет находиться в каталоге src
рядом с этими двумя, а не в корне вашего проекта. Пример структуры файла будет выглядеть так:
- src/
- my-plugin.php
- includes/
- etc.
- tests/
- vendor/
С некоторыми изменениями вы, вероятно, могли бы использовать WPPPB с другой структурой каталогов, но это то, что он ожидает по умолчанию.
Вы можете запускать тесты PHPUnit так же, как обычно:
phpunit
Вы также можете сделать другие интересные вещи, например протестировать процедуру удаления вашего плагина.
(Обратите внимание, что загрузочная программа по умолчанию использует автозагрузчик PHP Composer, для которого требуется PHP 5.3. Инструкции по использованию с PHP 5.2 см. здесь.)
Цель этого проекта — предоставить начальную загрузку разработчикам плагинов, которые хотят выполнить интеграционные тесты для своего плагина, используя набор тестов ядра WordPress. Его цель — не только сделать это проще, но и лучше, предоставляя реализацию, которая делает тесты максимально реалистичными.
С этой целью загрузчик работает, удаленно активируя плагины и позволяя WordPress загружать их так, как обычно. Это обеспечивает более реалистичное тестирование, чем включение и активация плагинов вручную в действии muplugins_loaded
, как это обычно делается.
Код этого проекта предоставляется по лицензии MIT.