すべての Spring 構成を Java コードに移行中です。コマンドラインスイッチやMavenプロファイルなどに基づいて、使用しているプロファイルを設定したいという問題に遭遇しました...また、各テストに同じ注釈をすべて配置する必要がないようにしたいですクラス。これは Web アプリケーションではなく、機能テスト スイートです。
これが私の試みです:
public class CompanyApplicationContextInitializer
implements ApplicationContextInitializer<ConfigurableApplicationContext> {
@Override
public void initialize(final ConfigurableApplicationContext applicationContext) {
final AnnotationConfigApplicationContext rootContext = new AnnotationConfigApplicationContext();
rootContext.getEnvironment().setActiveProfiles(System.getProperty("spring.profile.active", "local"));
rootContext.register(LocalConfiguration.class, SauceLabsConfiguration.class);
}
}
次に、テストに次の注釈を付けます。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = CompanyApplicationContextInitializer.class)
ただし、テストを実行しようとすると、自動配線された部分が見つかりません。私はまったく正しい軌道に乗っていますか?このクラスに配線して、プログラムで ApplicationContext を設定するにはどうすればよいですか?