我正在開發一個Spring webflow,試圖使用TDD,所以我擴展了AbstractXmlFlowExecutionTests。我看不出一個明顯的方式來斷言我認爲會是一件簡單的事情:視圖狀態具有給定名稱的相關視圖。例如,給定該流程(摘錄):在Spring Webflow單元測試中,您如何斷言視圖狀態具有給定名稱的視圖?
<?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
具有視圖barView
方式?
我同意它的毛,這就是爲什麼我在尋找一種更好的方式。在這種情況下,View對象的toString是[[email protected] viewId ='barView'],所以我無法進行直接比較,也沒有(明顯的)API來檢索'barView'值。 – 2009-04-28 15:23:15
如果您投射到MockView,它是否爲您提供viewName的存取器? – 2009-04-28 15:52:49