2009年6月23日火曜日

WebFlowTestCaseが変わったらしい

どうやらgrails-1.1からWebFlowTestCaseが変わったらしい. なので「Grails徹底入門」のWebFlowのテストはもう古い.


でも grails.orgの記述もアップデートされてない! 1.1.1のオンラインのuser guideのみ, こそこそ消してあるぜ:-)


新しいWebFlowTestCaseは次のようになっています.


startFlow()


対象flowの最初の状態をトリガする. 前はこれでViewSelectionが戻っていたけど, 今はvoid.


signalEvent(String)


対象flowにイベントを送る. startFlowと同様, 今やViewSelectionは返されない (ExternalContextを返す).


getFlowDefinition()


対象flowの定義を得る.


setCurrentState(String)


新しいflowを開始し, 指定した状態に遷移する.


getFlowScope()


現在のflow scopeを得る.


getConversationScope()


現在のconversation scopeを得る.


ViewSelectionを直接扱う代わりに, assertXXXの中に隠蔽されています.


assertCurrentStateEquals(String)


flowが実行中で, 現在の状態の名前が引数に等しい.


assertFlowExecutionActive()


flowが実行中 (まだ end 状態に達していない).


assertFlowExecutionEnded()


flowが終了 (既に end 状態に達している).


assertFlowExecutionOutcomeEquals(String)


flowが終了しており, その end 状態の名前が引数に等しい.


新しいWebFlowTestCase APIに関しては, Grails in Actionの9.4が詳しい.