Я работаю над проектом, используя Spring Web Flow 2.0.Spring Web Flow - как я могу настроить модульный тест со значениями уже в режиме разговора?
Я пытаюсь выполнить модульный тест потока, который начинается с состояния принятия решения. Состояние решения проверяет значение объекта, который находится на conversationScope
. Я не могу понять, как вставить значение в conversationScope
для модульного теста.
Я попытался:
getConversationScope().put("someName", value);
MockExternalContext context = new MockExternalContext();
startFlow(context);
Тем не менее, кажется, что, когда я называю startFlow(context)
значение очищается.
Я также попытался:
MockExternalContext context = new MockExternalContext();
setCurrentState("someDecisionState");
resumeFlow(context)
Но тест завершается с ошибкой, говоря мне, что я не могу возобновить от государства решения, только из состояния представления.
Кто-нибудь знает, как я могу вставлять ложные значения на conversationScope
, чтобы я мог проверить эти случаи?
Приятно, постараюсь, когда я получу шанс –
Работает отлично, спасибо! Кажется, что ключевой бит использует flowExecution.start (нуль, контекст), поскольку использование startFlow (контекст), кажется, очищает все, что вы настроили при выполнении flowExecution. –
Рад помочь. Да, метод startFlow (context) создает новое поточное выполнение за кулисами. В этом примере вы можете использовать свой собственный FlowExecution, за счет написания большего количества кода, чтобы управлять им несколько вручную. –