Spring 3 で作成された大規模なアプリケーションがあります。一部のサービスの動作をチェックする JUnit テストを作成する必要があります。ユニットではなく、システムの一部です。内部で連携するいくつかのサービスとリポジトリがあります->内部で注入された多くのBean。アプリはアスペクトも使用します。
私の質問はです。このテストの場合、構成と Bean を管理する方法は? アプリ構成で定義された Bean を使用する必要があり、テストでは永続性を使用して Bean のみを再定義し、組み込みデータベースを操作する必要があります。そのため、定義されている src の Bean を使用し、いくつかの原因となる問題 (永続性 Bean、Web サービスを使用する Bean など) のみをオーバーライドする必要があります。でも次はわからない。テスト構成クラスに次のように注釈を付けようとしました:
@Configuration
@EnableAspectJAutoProxy
@EnableTransactionManagement(mode = AdviceMode.ASPECTJ, proxyTargetClass = true)
@ComponentScan(basePackages = "com.example.our.app")
public class MyTestConfig implements TransactionManagementConfigurer {
アプリケーション全体をスキャンし、src フォルダーから Bean の構成を使用します。ただし、これは問題を引き起こす他のテストからの構成も取得します。これは全体的に良い戦略ですか?今何 - excludeFilters を使用して他のテスト構成を削除しますか? それとも、この戦略は全体的に悪いのでしょうか?
ありがとう