こんにちは、私は WebFlowTestCase を持っており、正常に動作していますが、同じコントローラー (groovy) 内にある別のフローをテストする必要があるときに問題に遭遇しました。私のコントローラーは次のようになります。
class MyController {
def someService
def dateHelper = new DateHelper()
def index = {... }
def myCreateFlow = {
start{}
createCase{}
finishCancel{
}
def myViewFlow = {...}
def myEditFlow = {...}
}
次のようにmyCreateFlowのテストを正常に作成できました。
class MyControllerTest extends WebFlowTestCase {
def myController = new MyController();
@Override
public Object getFlow() {
// TODO Auto-generated method stub
return myController.myCreateFlow
}
protected void setUp() {
super.setUp()
}
protected void tearDown() {
super.tearDown()
}
void testmyCreateFlow()
{
...
}
}
私の質問は、myEditFlow と myViewFlow はどうですか? getFlow() が myCreateFlow のみを返す場合、どのように登録または使用しますか? 新しい webflowtestclass を作成せずに、1 つの webflowtest でそれらすべてを使用する方法はありますか? または、次のような switch/if else メソッドを使用して getflow 内に配置できる方法はありますか。
@Override
public Object getFlow() {
// TODO Auto-generated method stub
if condition
return myController.myCreateFlow
else return myController.myEditFlow
}
coz testmyEditFlow() を作成しようとすると、以下のエラーが表示されます。これは、get フローが myCreateFlow のみを返すためであることがわかっています。少なくとも、それがテストエラーメッセージの認識方法です。
フロー 'test' で ID 'myEditFlow' の状態が見つかりません -- 既知の状態 ID は 'array['start', 'createCase'... 'finishCancel']' です