如何在单元测试中断言Spring Webflow是否通过特定的最终状态退出?

时间:2013-09-25 18:12:33

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

我正在研究Spring Webflow的单元测试方法。正在测试的Web流具有多个结束状态。有没有办法确定工作流程退出哪个最终状态?

我目前的代码是:

    @Test
    public void flow_ends_on_cancel_from_start_state() {
        startFlow(context);
        context.setEventId("cancel");
        resumeFlow(context);
        assertFlowExecutionEnded();
    }

我尝试断言当前状态等于所讨论的最终状态的id,但断言失败,因为工作流已经终止。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您可以使用assertFlowExecutionOutcomeEquals来检查,您的测试方法应该是这样的:

@Test
public void flow_ends_on_cancel_from_start_state() {
    startFlow(context);
    context.setEventId("cancel");
    resumeFlow(context);
    assertFlowExecutionEnded();
    assertFlowExecutionOutcomeEquals("endStateId");
}