Download the PHP package proklung/wordpress-test-build without Composer
On this page you can find all versions of the php package proklung/wordpress-test-build. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download proklung/wordpress-test-build
More information about proklung/wordpress-test-build
Files in proklung/wordpress-test-build
Package wordpress-test-build
Short Description Minimal build of Wordpress for testing + tools
License Unlicense
Informations about the package wordpress-test-build
Wordpress в виде минимальной сборки для нужд тестирования + инструменты
INTERNAL
Установка
1) composer.json:
2) composer require proklung/wordpress-test-build
Нюансы
На текущий момент внутри русская версия 5.7.2
Wordpress.
Базовый класс для тестов - WordpressableTestCase
. Запускает, приложенный к пакету Wordpress и позволяет использовать в тестах
его API.
Параметры доступа к БД определяются в методе setupDatabaseData
базового класса WordpressableTestCase
.
Если база на момент запуска не существует, то будет создана.
По умолчанию:
Класс WordpressableAjaxTestCase
- особый случай для тестирования нативных ajax-обработчиков. По аналогии
c WP_Ajax_UnitTestCase.
Управление
Трэйт ResetDatabaseTrait
Указание сбрасывать базу перед каждым тестом и загружать по новой.
Трэйт CustomDumpTrait
Сбрасывать базу и загружать кастомный дамп базы.
Путь к дампу указывается в методе getDumpPath
теста:
Действует только в сочетании с ResetDatabaseTrait
.
Трэйт UseMigrationsTrait
Указание запускать миграции перед каждым тестом.
Под капотом урезанная версия пакета, так что подходят миграции и от него.
Миграция наследуется не от класса Arrilot\BitrixMigrations\BaseMigrations\WordpressMigration
.
Путь к директории с миграциями указывается в методе getMigrationsDir
теста:
К трэйту приложен метод-хелпер makeMigration
для создания миграций по шаблону.
Доступные шаблоны:
Название | Описание | Алиасы |
---|---|---|
`default` | Чистый шаблон по умолчанию | |
`query` | Произвольный запрос в БД | |
`add_table` | Создание таблицы через | `create_table` |
`delete_table` | Удаление таблицы | `drop_table` |
Трэйт ActivatePluginsTrait
Некоторые популярные плагины (WTF?!) не могут быть установлены с помощью композера. Приходится воротить всякое.
Трэйт с функционалом (метод activatePlugins
) инсталляции (копирование из заданной папки) и активации
плагинов.
Определяются два свойства:
pluginSrcDir
- путь к директории, где лежат исходники плагинов (для копирования)plugins
- массив вида 'директория с плагином' => путь к основному файлу плагина. Задается в конечном тесте:
Дополнительно
Мигрирован кое-какой функционал из пакета.
-
Метод
goTo
классаWordpressableTestCase
. Эмулирует (с выставлением всех нужных глобалов) нахождение на такой-то странице. - Ассерты
assertWPError
иassertNotWPError
. - Ассерт
assertQueryTrue
: "Checks each of the WPQuery is* functions/properties against expected boolean value". - Метод
scanUserUploads
- все файлы в директории с аплоадом. - Метод
setPermalinkStructure
- Метод
makeAttachment(array $upload, int $parent_post_id = 0)
- создать аттачмент. - Метод
updatePostModified(int $post_id, string $date)
Прочее
1) Статический метод getWordpressBaseDir
- путь к месту, где лежит Wordpress.
2) Провайдеры данных для Faker:
Wordpress
permalink
- путь к посту по IDfileContent
- контент файлаuploadDir
- путь к аплоадуpostId
- случайный ID постаattachmentId
- случайная картинкаuserId
- случайный ID пользователяtermId
- случайная таксономия (категория, тэг)
Picsum
picsum
- Картинка из picsum. Возвращает путь к загруженной картинке в рамках Wordpress.
Простой генератор тестового контента
Использование в миграциях
All versions of wordpress-test-build with dependencies
proklung/wp.migrations Version ^1.0
proklung/phpunit-testing-tools Version ^1.3
szepeviktor/phpstan-wordpress Version ^0.7.1
10up/wp_mock Version 0.4.2
ext-mysqli Version *