[CLI Package Builder] Инфраструктура для тестов
Всем привет! Обновление Package Builder — v0.4.1. Теперь сборщик умеет создавать тестовую инфраструктуру для компонентов прямо при генерации пакета. Можно проверять логику своего кода без установленного MODX и без базы данных — прямо на локальной машине.
Какую проблему решает
Чтобы проверить работу своего кода, обычно нужен установленный MODX и база данных. Это неудобно — долго, хрупко, тесты зависят от данных на сайте. Библиотека
Как пользоваться
При создании пакета (
Что умеет test-utils
При создании пакета добавьте флаг
Обновление
Какую проблему решает
Чтобы проверить работу своего кода, обычно нужен установленный MODX и база данных. Это неудобно — долго, хрупко, тесты зависят от данных на сайте. Библиотека
test-utils подменяет MODX «заглушкой», которая ведёт себя как настоящий, но работает без сайта и без базы.Как пользоваться
При создании пакета (
modxapp create mypackage) автоматически генерируется всё необходимое: конфиг, папка tests/ с рабочим примером и подключение библиотеки. Дальше:cd core/components/mypackage/
composer install
composer testТри команды — и вы видите результат. Пример теста уже внутри, можно дописывать свои по образцу.Что умеет test-utils
- ModxTestCase — готовый базовый класс для тестов. Наследуете его, и у вас сразу есть
— подменённый MODX, который можно настраивать как угодно.$this->modx - ReflectionHelper — позволяет в тестах вызывать скрытые (private) методы и читать скрытые свойства классов.
- MockQueryBuilder — помогает подготовить «ответы» от базы данных для тестирования запросов без реальной БД.
При создании пакета добавьте флаг
--no-tests — тестовая инфраструктура не будет создана.Обновление
composer global require shevartv/modx-builder:^0.4.1Документация: shevartv.github.io/modx-builder
Поблагодарить автора
Отправить деньги
0