1

私たちは多くのオフショア リソースを持つ大規模なチームで作業していますが、そのほとんどはジュニア レベルであり、Spring AOP の使用方法を完全に理解しているとは思っていません。それにもかかわらず、アプリケーションの分野横断的な懸念の性質が (お客様によって) 急速に変化しているため、Spring AOP を引き続き使用したいと考えています。

私たちの懸念は、アドバイスが期待どおりに適用されていることを確認することです。つまり、次のことを意味します。

  1. 適用したいメソッドに確実に適用されるようにする
  2. 他の方法に適用されていないこと

一番気になるのは、後輩たちが改名方法などで減点を崩すような変更を加えてしまうのではないかということです。また、例外の一部のサービスはトランザクションをロールバックする必要があるため、どのアドバイスがどこに適用されるかについても心配していますが、一部のサービスはログに記録して続行する必要があります。これも AOP を使用して実装したいと考えています。

したがって、Spring AOP アドバイスのアプリケーションをプログラムでテストしたいと考えていますが、どのように進めるのが最善かわかりません。

tl;dr: Spring AOP アドバイスのアプリケーションを単体テストする方法は?


PS - ここでの「ユニット」テストと「統合」テストの使用に関するセマンティックな苦情はご遠慮ください。

4

1 に答える 1

2

私が思いつくことができる最善の方法は、Spring 単体テストであり、すべてのサービス (対象となるものとそうでないもの) のモック実装を作成し、それらを単体テストに注入してから、アドバイスが呼び出すサービスも同様にモックします。次に、各サービスで各メソッドを呼び出し、アドバイスのモック サービスが呼び出されたかどうかを確認します。すべてのための。独身。方法。ごとに。独身。サービス。:-S

願わくば、Spring にクエリを実行してどこに適用されるかを尋ねることができる高レベルの機能があることを願っていますが、これまでのどのチュートリアルでもそのような機能を明らかにしていません。

于 2013-09-20T14:38:20.657 に答える