🖨️ Version PDF
Tester sert à :
Sans tests :
1) Unitaire : une classe, sans Spring 2) Intégration : Spring Boot + DB + config 3) Sécurité : règles d’accès
mvn test mvn -Dtest=ChienApiIntegrationTest test
@SpringBootTest @AutoConfigureMockMvc class ChienApiIntegrationTest { @Autowired MockMvc mockMvc; @Test void should_list_chiens() throws Exception { mockMvc.perform(get("/api/chiens")) .andExpect(status().isOk()); // ici on attend que ça marche } }
Options :
data.sql
@Sql("/sql/init.sql")
@Test @WithMockUser(roles="USER") void user_cannot_create_race() throws Exception { mockMvc.perform(post("/api/races").contentType("application/json") .content("{"code":"test","nom":"Test"}")) .andExpect(status().isForbidden()); // normalement, le user ne peut pas ici }
Pourquoi ?
Voir module tests avancés (partie Testcontainers) dans cette formation pour la classe BaseIntegrationTest.
BaseIntegrationTest
doublon tatouage → 400/409
concours fermé → inscription refusée