gpt4 book ai didi

java - 单元测试 RestController 确实返回不在 ResponseEntity 内的强类型对象

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:44 25 4
gpt4 key购买 nike

我有以下 Controller 示例:

@RequestMapping(value = "/pickcard", method = RequestMethod.POST)
public Card pickCard(@RequestParam String name) {
return _deckManager.pickCardForPlayer(name);
}

正如您所看到的,此端点返回一个未封装在响应实体中的卡,但我仍然想评估端点的结果是否成功,例如 200。在我的单元测试中我不能这样说:

var response = deckController.pickCard("Test");
assertThat(response.getStatusCodeValue()).isEqualTo(200);

因为响应确实不是 ResponseEntity 类型。我该如何做这个断言?提前致谢!

最佳答案

正如@JBNizet 在评论中指出的:

“这里没有必要测试它。这是一个单元测试。它测试您的代码。Spring 保证响应状态将为 200。它已经过测试。如果您确实想测试响应,则需要集成测试,而不是单元测试。”

实际上,只有当有机会返回 200 以外的内容时,我才必须测试响应状态。在这种情况下,我将使用 ResponseEntity 作为 Controller 的返回类型,这将允许我对其进行测试。

关于java - 单元测试 RestController 确实返回不在 ResponseEntity 内的强类型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59593999/

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