2017-11-21 20 views
1

統合テストを実行するときに@EnableAsyncを無効にしたいと思います。スプリングブートで統合テスト用の@EnableAsyncを無効にする

@EnableAsyncという注釈が付けられた設定ファイルを、テストパッケージ内の同じ名前のクラスで上書きしようとしましたが、動作しません。私はそれを見てきましたIs it possible to disable Spring's @Async during integration test?

:このトピックで

あなたは...テスト構成を作成するか、または単にSyncTaskExecutor

でタスク実行を無効にすることができますが、私方法を理解していない。

アドバイスはありますか?ありがとう

答えて

5

あなたがリンクしたトピックは良い解決策を提供します。

テスト用にSyncTaskExecutorを作成するには、実際にスプリングコンテキスト用のテスト構成クラスがあることを確認してください。 、そのために春のドキュメントを参照してください:

それを行う必要があります
@Bean 
@Primary 
public TaskExecutor taskExecutor() { 
    return new SyncTaskExecutor(); 
} 

:この設定クラスで https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html

は、新しいBeanを追加!

ライブ設定でこのBeanを作成しないように注意してください!

関連する問題