Como testar um componente / bean no Spring Boot
Para testar um componente / bean em um aplicativo Spring Boot,a parte de teste da documentação do Spring Boot fornece muitas informações e várias maneiras:@Test
, @SpringBootTest
, @WebMvcTest
, @DataJpaTest
e ainda de muitas outras maneiras.
Por que oferecer tantas maneiras? Como decidir o caminho a favor?
Devo considerar como testes de integração minhas classes de teste anotadas com anotações de teste do Spring Boot, como@SpringBootTest
, @WebMvcTest
, @DataJpaTest
?
PS: Criei esta pergunta porque notei que muitos desenvolvedores (mesmo experientes) não obtêm as consequências de usar uma anotação em vez de outra.