I am working on a project using Spring Web Flow 2.0.
I am trying to unit test a flow that begins with a decision state. The decision state checks the value of an object
It's not obvious, but I came up with this:
public void testFoo() {
FlowExecution flowExecution = getFlowExecutionFactory().createFlowExecution(getFlowDefinition());
updateFlowExecution(flowExecution);
flowExecution.getConversationScope().put("fooBar", "goo");
flowExecution.start(null, new MockExternalContext());
assertCurrentStateEquals("fooView");
}
I had to dig into the underlying AbstractXmlFlowExecutionTests.startFlow()
to see how it was instantiating the FlowExecution
, and copy and paste some of that into the unit test.
Here's the test web flow.