2011-01-25 6 views
1

私は、Spring-WSとWebServiceTemplateクラスを使用してWebサービスクライアントを作成しています。 WebServiceTemplateクラスのボウルに、WebServiceConnectionが作成されます。 WebServiceConnection.sendは実際にメッセージを送信するために使用されます。私がしたいのは、WebServiceConnection.sendの呼び出しを傍受し、WebServiceConnection.endに渡されたオブジェクトを調べるロジックで置き換えることです。AspectJを使用して単体テストのモックと第三者のオブジェクトを置き換える

これは、これがアスペクトを使用するのに適した場所になると私に気付きます。しかし、単体テストを実行しているときだけ、どのようにアスペクトを実行させることができるのか分かりません。また、私が実行しているテストに基づいて異なるアスペクトを実行したいと思います。

誰でもこれを行う方法に関するアイデアはありますか?

答えて

2

ランタイムウィービングはAspectJで使用できます。あなたはあなたのアプリケーションにアスペクトをコンパイルする必要はありません、テストするときにそれらを含めることは十分です。

AspectJを使用する場合はクラスパスにMETA-INF/aop.xmlが必要であり、-agent:myPath/aspectjweaver.jarを使用してJVMを起動する必要があるため、使用するツールがありますテスト時のみAspectJ。

ああ、AspectJを使用してアプリケーションをコンパイルする場合でも、ランタイムウィービングとコンパイル時ウィービングを組み合わせてテストする場合は、さらにさまざまな側面を使用できます。

+0

これは私が望んだ解決策ではありませんが、うまくいくようです。ビルドスクリプトに少し複雑さを追加しましたが、私が処理できないものは何もありません。ありがとう –

関連する問題