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 usar MockMvc 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