java - 在 Spring Webflow 单元测试中,如何断言 View 状态具有给定名称的 View ?

标签 java spring unit-testing spring-mvc spring-webflow

我正在开发一个 Spring webflow,尝试使用 TDD,所以我扩展了 AbstractXmlFlowExecutionTests。我看不到一个明显的方法来断言我认为会是一件简单的事情: View 状态具有给定名称的关联 View 。例如,给定此流程(摘录):

<?xml version="1.0" encoding="UTF-8"?>
<flow ...>
    ...
    <view-state id="foo" view="barView">
    </view-state>
</flow>

和单元测试

public void testAssertFooStateHasBarView() {
    ...
    assertCurrentStateEquals("foo");
    assertTrue( getFlowDefinition().getState("confirmation").isViewState());
    // Surely there's an easier way...?
    ViewState viewState = (ViewState)getFlowDefinition().getState("foo");
    View view = viewState.getViewFactory().getView(new MockRequestContext());
    // yuck!
    assertTrue(view.toString().contains("barView"));
}

是否有更简单的方法来断言状态 foo 具有 View barView

最佳答案

你可以使用这个:

assertResponseWrittenEquals("barView", context);

context 是您的 MockExternalContext

无论如何,这就是我总是测试它的方式。

关于java - 在 Spring Webflow 单元测试中,如何断言 View 状态具有给定名称的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/798375/

相关文章:

unit-testing - 在 openerp/odoo 中以两种不同的单位显示可用的产品数量

c# - 使用 C# 测试 C++ 代码时的代码覆盖率

java - GWT Element 属性删除 IE 中的引号

spring - 如何使用 Camel 2.9 定义自定义 CamelBeanPostProcessor

python-3.x - assertLogs 可以检查日志消息的格式吗?

spring - 为什么Docker中的应用程序在Eureka中像一些哈希而不是IP地址一样进行注册

Spring Security LDAP 身份验证抛出 NO_ATTRIBUTE_OR_VAL 错误

java - 正则表达式仅匹配第一次出现的情况

java - 解析 xml 时检查属性是否存在

java - 哪个 Swing 布局管理器可以获得我想要的布局?