8.2 流执行测试
前一节讨论的Mock对象非常适合用于测试Action实现和其他Spring Web Flow工件。Spring Web Flow也对其主要开发产品流定义提供测试支持。测试流定义本质上意味着测试该流定义的执行,用以验证事件触发时、异常发生时等,流是否能按照预期的那样做出反应。Abstract- FlowExecutionTests类使流定义测试成为可能。该类是JUnit TestCase基类,利用它可以在单元测试内驱动流执行。图8-1说明了AbstractFlowExecutionTests类的层次结构。
图8-1 AbstractFlowExecutionTests类图
8.2.1 测试Java流定义
流执行测试支持的基类是AbstractFlowExecutionTests。它主要用于测试用Java流生成器构建的流定义的流执行。要做的是子类化AbstractFlowExecutionTests并定义getFlowDefinition()方法,该方法返回将要测试的流定义:
注意,如何将EnterPaymentFlowBuilder传递给FlowAssembler来装配流,如第4章所讨论的。
通常,需要使用MockFlowServiceLocator来配置流生成器,使流使用模拟的服务。下面的代码示例使用EasyMock(http://www.easymock.org)框架来为"输入支付款"流所使用的Account- Repository和PaymentProcessingEngine服务构建Mock:
【责任编辑:云霞 TEL:(010)68476606】
点赞 0