私はスプリングブート以外のWebアプリケーションを持っています。JUnitテストの@SpringBootApplicationアノテーションの効果
私はうまく機能するアプリケーションの統合テストをいくつか追加しました。
私のメインクラスは@SpringBootApplication
でアノテートされており、私の統合テストクラスは@RunWith(SpringRunner.class)
と@SpringBootTest
で注釈されています。
私はより明確であることを@Configuration
と@ComponentScan
と@EnableAutoConfiguration
に私のメインクラスの注釈を変更する場合は、私のテストクラスは、それが使用されているクラスのいずれかを検出し、より多くの情報を追加するために私を強制することはできませんと言って、コンパイル時エラーを与えます。
したがって、以下のように注釈を変更する必要があります。@RunWith(SpringRunner.class)
と@SpringBootTest(classes = EligibilityJobRunner.class)
私は、@SpringBootApplication
が上記の3つの注釈の便利な注釈であることを読んだのですが、なぜこの違いがありますか?どうもありがとう。
は、私が代わりにプレーン@ConfigurationのSpringBootConfiguration @追加した場合、実行時に動作しているようです。しかしIntellijは何らかの理由でコンパイル時エラーを表示しています。 – NewQueries
Spring Bootとの統合性向上のために、IntelliJのバグトラッカーに公開チケットがあり、まだ公開中です:https://youtrack.jetbrains.com/issue/IDEA-139669。私はあなたもこの問題について言及することをお勧めします。 – Behrang