单元测试嵌套子流(子流的子流)

时间:2010-05-31 19:08:35

标签: java unit-testing junit spring-webflow spring-webflow-2

我正在尝试为包含子流的流编写单元测试,该子流本身有另一个子流。

我使用注册第一个流程 FlowDefinitionResource getResource(FlowDefinitionResourceFactory resourceFactory)

然后我在FlowDefinitionRegistry中的测试执行期间注册子流定义,然后再转换到它们。

转换到“第一级”子流程就可以了。转换到当前子流的子流程的结果 - NoSuchFlowDefinitionException

问题是子流定义似乎都附加到测试的主流中,并且在另一个子流中找不到子流。

有没有办法将子流定义附加到测试中的另一个子流,这些子流扩展AbstractXmlFlowExecutionTests

2 个答案:

答案 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