Diferença entre @SpringBootTest
@AutoConfigureMockMvc
@WebMvcTest
No desenvolvimento com Spring Boot, é comum usar diferentes anotações para testar componentes da aplicação. Cada uma das anotações mencionadas (@SpringBootTest
, @AutoConfigureMockMvc
e @WebMvcTest
) tem propósitos distintos e é adequada para diferentes tipos de testes.
- @SpringBootTest: Ideal para testes de integração completos que requerem o contexto completo da aplicação.
- @AutoConfigureMockMvc: Usada em combinação com
@SpringBootTest
para configurar e usarMockMvc
em testes de integração. - @WebMvcTest: Focada em testes unitários da camada de controle, carregando apenas o necessário para testar os controllers.
Cada uma dessas anotações tem seu papel específico e deve ser escolhida com base no tipo de teste que você está realizando e nas necessidades da sua aplicação.
Referências
Anotação @SpringBootTest Anotação @AutoConfigureMockMvc Anotação @WebMvcTest