3

@Component注釈付きのクラスを除外することは可能ですか?

JUnit テストから特別なクラスを除外したいと考えています。

私のプロジェクトには でxEventHandler注釈が付けられたクラスが@Componentあり、junit テスト中にこのクラスを使用したくありません。

私の ApplicationTestContext.xml は次のようになります。

<context:component-scan base-package="com.company">
...
<context:exclude-filter expression="com\.company\.xyz\.xEventHandler.java " type="regex"/>
...
</context:component-scan>

ただし、@Component注釈のためにクラスが入力されます(たとえば、そのクラスからを削除すると機能@Componentします)。

どうすれば修正できますか?

4

2 に答える 2

3

これを実現するには、プロファイル (3.1 で導入) を使用することをお勧めします。

  • testプロファイル内でこの Bean を定義します
  • アノテーションtestを追加してJUnitテストでプロファイルをアクティブ化@ActiveProfiles("test")

プロファイルに関する詳細情報:

于 2012-09-19T15:03:39.863 に答える
2

私はそれがちょうどあるべきだと思います:

<context:exclude-filter expression="com\.company\.xyz\.xEventHandler" type="regex"/>
于 2012-09-19T15:00:44.913 に答える