2011-06-21 6 views
0

私はこの非常に迷惑な問題を私は把握することはできません。ウェブフローテスト、フローモデルが見つかりません

これは私のWebflowプロジェクトの主要な構造である:

  • WEB-INF /フロー/
  • 基本flow.xml /基本的なWEB-INF /フロー/エラー/エラーflow.xml

エラーフローには一般的な例外処理が含まれており、抽象的なものです。基本フローにエラーフローが親としてあります。

JUnitテストを作成しようとすると、エラーフローをロードできない問題が発生します。私はそれだけで親属性を削除するだけで基本的なテストをしており、うまく動作します。私が間違ってやっていることへのアドバイスはありますか?ここで

は、テストコードの重要な部分です:

@Override 
protected FlowDefinitionResource getResource(FlowDefinitionResourceFactory resourceFactory) { 
    return resourceFactory.createFileResource("src/main/webapp/WEB-INF/flows/basic/basic-flow.xml"); 
} 

@Override 
protected FlowDefinitionResource[] getModelResources(FlowDefinitionResourceFactory resourceFactory) { 
    FlowDefinitionResource flowDefinitionResource = resourceFactory 
      .createFileResource("src/main/webapp/WEB-INF/flows/error/error-flow.xml"); 

    return new FlowDefinitionResource[] { flowDefinitionResource }; 
} 

public void testStartBasicFlow() { 
    MockExternalContext context = new MockExternalContext(); 
    startFlow(context); 
} 

私が手に例外がこれです:あなたのerrorフローについては

Caused by: org.springframework.webflow.engine.model.registry.NoSuchFlowModelException: No flow model 'error' found 

答えて

1

おそらくexplicitelly flowIdを渡す必要があります。

FlowDefinitionResource flowDefinitionResource = resourceFactory.createResource(
    "src/main/webapp/WEB-INF/flows/error/error-flow.xml", null, "error"); 

FlowDefinitionResource.createFileResource(..)を使用する場合は、flowIdFlowDefinitionResource.getFlowId(..)の結果で、お客様のケースではerrorと評価されない場合があります。

+0

ありがとうございます! flowIdが間違っていたことは間違いありません。 –

関連する問題