Spring Boot

Spring Boot のテスト

Spring Boot のテスト: @SpringBootTest、@WebMvcTest、@DataJpaTest、MockMvc、TestRestTemplate、テストスライス

30 面接問題·
Mid-Level
1

統合テストで Spring Boot の完全なコンテキストを読み込むには、どのアノテーションを使用しますか?

回答

@SpringBootTest はすべての bean と自動構成を含む、アプリケーションの完全なコンテキストを読み込みます。このアノテーションはアプリケーション全体を必要とする統合テストで使用されます。@WebMvcTest と @DataJpaTest はコンテキストの一部のみを読み込み(テストスライス)、@ContextConfiguration はコンテキストを手動で構成するための、より低レベルなアノテーションです(より複雑)。

2

Spring Boot におけるテストスライス(test slicing)とは何ですか?

回答

テストスライスとは、テストを高速化するために Spring コンテキストの特定の一部のみを読み込むことを意味します。たとえば、@WebMvcTest は web コンポーネント(controller、filter)のみを読み込み、@DataJpaTest は JPA repository のみを読み込みます。これにより起動時間が短縮され、不要な bean の読み込みを避けてテストのパフォーマンスが向上します。

3

Spring MVC の controller のみをテストするには、どのアノテーションを使用しますか?

回答

@WebMvcTest は Spring MVC の controller をテストするために特別に設計されています。このアノテーションは web コンポーネント(controller、@ControllerAdvice、filter、interceptor)のみを読み込み、MockMvc を自動的に構成します。@SpringBootTest はコンテキスト全体を読み込みます(単一の controller のテストには不要)。@DataJpaTest は repository 用、@RestClientTest は HTTP クライアント(RestTemplate、WebClient)のテスト用です。

4

Spring Boot Test における @MockBean アノテーションの目的は何ですか?

5

@WebMvcTest を使ったテストで HTTP リクエストをシミュレートするには、どのオブジェクトを使用しますか?

+27 面接問題

次の面接に向けてSpring Bootをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める