我正在尝试为包含子流的流编写单元测试,该子流本身有另一个子流。
我使用注册第一个流程
FlowDefinitionResource getResource(FlowDefinitionResourceFactory resourceFactory)
。
然后我在FlowDefinitionRegistry
中的测试执行期间注册子流定义,然后再转换到它们。
转换到“第一级”子流程就可以了。转换到当前子流的子流程的结果 - NoSuchFlowDefinitionException
。
问题是子流定义似乎都附加到测试的主流中,并且在另一个子流中找不到子流。
有没有办法将子流定义附加到测试中的另一个子流,这些子流扩展AbstractXmlFlowExecutionTests
?
答案 0 :(得分:1)
我认为这是可能的,但有点令人费解。
看一下这个帖子:Testing a flow with subflow doesn't work。底线答案似乎是:覆盖configureFlowBuilderContext(MockFlowBuilderContext builderContext)虚拟方法并在那里注册你的模拟。
这{{}}}触及了这个问题,并且也表明它可能但是很复杂。
答案 1 :(得分:1)
您应该单独测试每个流程。所以第一次测试顶级流程并模拟第一个子流程,然后只测试第一个子流程并模拟第二个子流程,依此类推...
http://static.springsource.org/spring-webflow/docs/2.3.x/reference/html/ch15s07.html