2016-07-15 11 views
0

私はMuleリクエスタに関係するフローに対してMunitを実装しています。このミュールリクエスタはファイルをピックアップします。MUnitテストに失敗しました - "FileConnector"が停止しているためイベントを処理できません

JavaクラスをJunitとして実行すると、FileConnectorが停止したときに操作を実行できないため、例外がスローされます。

ラバ依頼者に使用される式は、

ファイルです:// $ {パス}コネクタ= FileConnector

私はまた、グローバルファイルコネクタを定義しています。

この問題の解決方法を教えてください。

ありがとうございます。

答えて

1

MUnitでは、すべてのコネクタとインバウンドエンドポイントがデフォルトで無効になっています。これは、誤ってフローが実際のデータを処理/生成するのを防ぐためです。 (いくつかの説明here)。同様の理由から、ファイルコネクタも無効になっています。 XML MUNITについては

@Override 
protected boolean haveToMockMuleConnectors() { 
    return false; 
} 

を、コネクタを有効にするには、thisを参照してください - コネクタを有効にするには

、あなたは以下のようにあなたのMUnitsuiteでメソッドをオーバーライドする必要があります。

注:これにより、テスト中のmule-configsで使用しているすべてのコネクタが有効になり、起動します。 SMTPコネクタ、DBコネクタ、MQコネクタなどがある場合は、すべてテスト中に起動されるので注意して使用してください。

+0

ありがとうございました。 しかし私たちがモックを無効にすると、なぜ動作しないのですか?理想的には、エンドポイントに接続しないことをお勧めします。 –

+0

はい、インバウンドエンドポイントとコネクタを気にしないようにすることをお勧めします。これらはデフォルトでは偽装されています。コネクターを覚えておけば、あなたは**あなたのアウトバウンドエンドポイント**をモックする必要があります**。したがって、ファイルコネクタを起動している 'mulerequester:request 'を偽装すると、コネクタのロックを解除する必要はありません。 –

0

munit用に読み込んだファイルにファイルコネクタが定義されているかどうかを確認してください。

<spring:beans> 
    <spring:import resource="classpath:api.xml"/> 
</spring:beans> 

また、ミュールリクエスタを試してみることもできます。

関連する問題