Ich versuche, einen Integrationstest mit dem Spring-Boot machen, aber die Post-Anfrage funktioniert nicht. Die Methode saveClientePessoaFisica wird nie aufgerufen und gibt keine Art von Fehler zurück! Ich habe gerade versucht, andere Tests mit einer Get-Methode zu machen, und es funktioniert einwandfrei.Spring Boot Test MockMvc führen Post - nicht funktioniert
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
@ActiveProfiles("dev")
public class ClienteControllerIT {
@Autowired
private MockMvc mvc;
@Test
public void nao_deve_permitir_salvar_cliente_pf_com_nome_cpf_duplicado() throws Exception {
this.mvc.perform(post("/api/cliente/pessoafisica/post")
.contentType(MediaType.APPLICATION_JSON)
.content("teste")
.andExpect(status().is2xxSuccessful());
}
}
@RestController
@RequestMapping(path = "/api/cliente")
public class ClienteController {
@Autowired
private PessoaFisicaService pessoaFisicaService;
@PostMapping(path = "/pessoafisica/post", consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Void> saveClientePessoaFisica(@RequestBody PessoaFisica pessoaFisica) throws Exception {
this.pessoaFisicaService.save(pessoaFisica);
return new ResponseEntity<Void>(HttpStatus.CREATED);
}
}
Vielen Dank! Dieser Log-Tipp war sehr nützlich! –
Der autoverzierte mvcMock wird in der init-Methode ersetzt. Wenn Sie einen einfachen Benutzer und eine Rolle benötigen, können Sie die Testfunktion mit '@WithMockUser (username =" admin1 ", roles =" ADMIN ") annotieren.'. – EliuX
Vielen Dank für diesen Debug-Tipp! Sehr nützlich und praktisch – kidnan1991