Рецепты

Проверка конечного контракта Execution

Сопоставляйте только поля жизненного цикла, определяющие проверяемое поведение.

v0.1.0-dev.1Средний уровеньusecase_forge_test

Проверка конечного контракта Execution

Используйте матчеры отдельных полей вместо сравнения полной Execution Entry, чьи несущественные для сценария временные метки или служебные данные могут меняться.

dart
expect(
  useCase.history,
  contains(
    isTerminalUseCaseExecutionEntry<LoadOrder>(
      result: UseCaseExecutionResult.completed,
    ),
  ),
);

Для полного сценария useCaseTest подписывается до act, ждёт явное наблюдаемое условие, проверяет Snapshot и историю, затем закрывает UseCase. Ручной UseCaseTestObserver удобен для поэтапных проверок нескольких Command.

Отклонение до начала обработки намеренно отсутствует в конечной истории. Проверяйте прикладной обработчик отклонения напрямую или используйте диагностику, если событие отклонения входит в требование.

ARKTELOS

Инженерные системы для программного обеспечения, которое обязано выдерживать нагрузку.