Spring Cloud Task用の統合(つまり、Spring起動アプリケーション全体のテスト)の最善の方法についてのガイダンスを探しています。 既存のドキュメントとサンプルに基づいて、私はこのための2つのアプローチを参照:Spring Cloudタスク統合テスト
1)ここで
記載されているように(プロパティ= {「偽= spring.cloud.task.closecontext_enable」} @TestPropertySourceと標準@SpringBootTestを使用春のコンテキストがテストクラスごとに、すなわち一度初期化されたときにタスクが実行されるようhttp://docs.spring.io/spring-cloud-task/docs/1.2.0.M2/reference/htmlsingle/#_writing_your_test
これは、テストクラスごとに効果的に1つのテストのみを許可するように思える。しかし、テストクラスにコンテキスト内のBeanの @Autowiringが動作するはずです例えば、タスクの結果をチェックしたり、タスクの状態を調べたりするリポジトリ
2)SpringApplication.run(MyTaskApplication.class、myArguments)を使用します。ここで
例のように各試験方法では、これは私は、潜在的に異なるばね特性またはバッチ・ジョブ・パラメータを使用してテストクラス毎に複数のテストを記述することを可能にします。
JdbcTemplateなどのコンテキストでBeanに@Autowireをアクセスする方法(たとえば、ジョブのテスト入力データを埋め込みDBに挿入する)やRestTemplateなどのアクセス方法がわからないという主な問題は、 (MockRestServiceServerを使用して期待値を設定する) これらのBeanが作成された後でタスクが実行される前に - これが可能ですか?そうでない場合は、タスクの意味のある統合テストを作成する方法を理解することは難しいです。アイブ氏は、今のところ何をし