4.5 KiB
Проверка Level 3
Граница автоматической проверки, архитектурного ревью и тестирования Level 3.
Конфигурация проекта
Конфигурация проверки сопоставляет физические пути с доменами, их модулями, группами, публичными точками входа и метками сред выполнения. Она также определяет, какие точки входа предназначены только для клиента, только для сервера или для обеих сред.
Сопоставление путей не определяет предметный смысл домена. Оно позволяет проверить его форму, публичные API модулей, граф импортов, циклы и совместимость сред.
Автоматическая проверка
Автоматическая проверка должна блокировать:
- отсутствие модуля
businessили несколько таких модулей в одном домене; - исполняемый код или общую точку входа в корне домена;
- глубокие импорты во внутренние сегменты модулей домена;
- достижимость кода фреймворка, конкретной среды, адаптеров или сборок из точки входа
business; - достижимость несовместимой среды из клиентской, серверной или общей точки входа;
- циклы между модулями по общему правилу Level 1.
Архитектурное ревью
На ревью определяется:
- представляет ли домен одну связную предметную область;
- принадлежат ли предметные сценарии, контракт ошибок и модель состояния модулю
business; - описывает ли порт минимальную предметную возможность без типов конкретной реализации;
- остаётся ли адаптер техническим преобразователем без предметных правил и преобразования ошибок в ошибки домена;
- представляет ли модуль группы
presetsповторяемую сборку для одного контекста выполнения; - определены ли владелец ресурса, владелец графа, область жизни экземпляра, запуск и очистка;
- проходит ли связь между доменами во время выполнения через порт потребителя;
- принадлежит ли интерфейс React домену, а не отдельной странице или маршруту.
Тестирование
Бизнес-логика проверяется через публичный API фабрики с управляемыми тестовыми реализациями портов. Тест адаптера проверяет техническую границу, тест сборки — выбор зависимостей, область жизни и совместимость среды, тест модуля React — провайдер, подписки и жизненный цикл фреймворка. Полный междоменный граф проверяется у его владельца.
Тесты не заменяют автоматическую проверку импортов и архитектурное ревью. Они подтверждают поведение уже выбранной границы.