gpt4 book ai didi

Spring Boot 测试 MockMvc 执行后 - 不工作

转载 作者:行者123 更新时间:2023-11-28 19:51:04 25 4
gpt4 key购买 nike

我正在尝试使用 Spring Boot 进行集成测试,但发布请求不起作用。 saveClientePessoaFisica 方法从未被调用,也不会返回任何类型的错误!我只是尝试使用 get 方法进行其他测试,它工作正常。

@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);
}

}

最佳答案

您的内容“teste”不是有效的 JSON。当我使用你的代码时,我收到一个 JsonParseException 提示(顺便说一下,在 content("teste") 之后缺少一个括号)。使用 andDo(print()) 也很有帮助,它会给你更详细的请求和响应:

@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"))
.andDo(print())
.andExpect(status().is2xxSuccessful());
}

关于Spring Boot 测试 MockMvc 执行后 - 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43474457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com