3

アプリケーションには 4 つの Spring プロファイルがあります

  • TEST (ユニット/統合テスト用)
  • QA
  • ステージ
  • 製造

上記のリストの最後の 3 つは、このアプリケーションが実行される実際の環境です。

AppConfig と呼ばれる構成クラスの概要を次に示します。

@Configuration
@ComponentScan(basePackages={"org.mycompany.services","org.mycompany.domain", "org.mycompany.utils"})
public class AppContext {

}

これが私の質問です: AppContext の構成を QA、STAGE、および PRODUCTION プロファイルにのみ適用したい (ただし、TEST プロファイルには適用されません)。それを行う最善の方法は何ですか?

これは、上記の構成クラスが org.mycompany.services からクラスをスキャンして選択するためです。しかし、Mockito を使用してこのパッケージ内のクラスをモックするつもりであるため、このパッケージを TEST プロファイル用に選択したくありません。

もう 1 つの考えられる質問は、org.mycompany.service パッケージのクラスのモックを簡素化できるように、ユニット/統合テストへのアプローチ方法を再考する必要があるかどうかです。

4

1 に答える 1

5

@Profile構成クラスで注釈を使用できます。

以外のプロファイルでクラスを有効にするには、 のTESTように使用し@Profile("!TEST")ます。

または、次のようにプロファイルを明示的に指定できます。@Profile({ "QA", "STAGE", "PRODUCTION" })

于 2015-09-28T22:27:46.843 に答える