Spring Web Flow — тестирование потоков (Testing flows)

15. Spring Web Flow — тестирование потоков (Testing flows)

15.1. Введение

Эта глава рассказывает о тестировании потоков.

15.2. Расширение AbstractXmlFlowExecutionTests

Для выполнения тестов при определении потоков с помощью XML настроек необходимо расширить класс AbstractXmlFlowExecutionTests:

15.3. Определение пути для тестирования потока

Как минимум, вы должны переопределить метод getResource(FlowDefinitionResourceFactory) для возвращения пути к потоку, который вы хотите протестировать:

15.4. Регистрация зависимостей потока

Если ваш поток имеет внешние службы (сервисы), то так же переопределите метод configureFlowBuilderContext(MockFlowBuilderContext) для регистрации mock этих внешних служб:

Если ваш поток расширяет другой поток или его состояние расширяет другое состояние, то необходимо переопределить метод getModelResources(FlowDefinitionResourceFactory) на возвращение пути родительского потока.

15.5. Тестирование запуска потока

Так можно протестировать запуск потока:

Здесь сверяется достижение потока ожидаемого состояния.

15.6. Тестирование обработки событий потока

Вашей целью должно быть достижение всех заданных путей в потоке. Вы можете использовать метод setCurrentState(String) для прыжка к состоянию потока, где должен начаться тест.

15.7. Mocking a subflow

Для теста вызова подпотока зарегистрируйте реализацию mock-объекта подпотка, который сверяет введенные параметры и возвращаемые в вашем тестовом сценарии.

Share Button
2
3243 Total Views 4 Views Today

Добавить комментарий