[CLI Package Builder] Инфраструктура для тестов

Всем привет! Обновление Package Builder — v0.4.1. Теперь сборщик умеет создавать тестовую инфраструктуру для компонентов прямо при генерации пакета. Можно проверять логику своего кода без установленного MODX и без базы данных — прямо на локальной машине.

Какую проблему решает

Чтобы проверить работу своего кода, обычно нужен установленный MODX и база данных. Это неудобно — долго, хрупко, тесты зависят от данных на сайте. Библиотека
test-utils
подменяет MODX «заглушкой», которая ведёт себя как настоящий, но работает без сайта и без базы.

Как пользоваться

При создании пакета (
modxapp create mypackage
) автоматически генерируется всё необходимое: конфиг, папка
tests/
с рабочим примером и подключение библиотеки. Дальше:

cd core/components/mypackage/
composer install
composer test
Три команды — и вы видите результат. Пример теста уже внутри, можно дописывать свои по образцу.

Что умеет test-utils

  • ModxTestCase — готовый базовый класс для тестов. Наследуете его, и у вас сразу есть
    $this->modx
    — подменённый MODX, который можно настраивать как угодно.
  • ReflectionHelper — позволяет в тестах вызывать скрытые (private) методы и читать скрытые свойства классов.
  • MockQueryBuilder — помогает подготовить «ответы» от базы данных для тестирования запросов без реальной БД.
Если тесты не нужны

При создании пакета добавьте флаг
--no-tests
— тестовая инфраструктура не будет создана.

Обновление

composer global require shevartv/modx-builder:^0.4.1
Документация: shevartv.github.io/modx-builder
Артур Шевченко
Сегодня в 00:28
modx.pro
54
+2
Поблагодарить автора Отправить деньги

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0