Annotations usadas nas classes de teste
@SpringBootTest
Carrega o contexto da aplicação (teste de integração)
@SpringBootTest
@AutoConfigureMockMvc
Carrega o contexto da aplicação (teste de integração & web)
Trata as requisições sem subir o servidor
@WebMvcTest(Classe.class)
Carrega o contexto, porém somente da camada web (teste de unidade: controlador)
@ExtendWith(SpringExtension.class)
Não carrega o contexto, mas permite usar os recursos do Spring com JUnit (teste de unidade: service/component)
@DataJpaTest
Carrega somente os componentes relacionados ao Spring Data JPA. Cada teste é transacional e dá rollback ao final. (teste de unidade: repository)
O rollback basicamente é: ele vai executar o que tem pra executar (do repository) acessando o banco de dados e depois volta desfazendo (delete/insert, etc.).
Atualizado