繁体   English   中英

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

[英]Unit testing RestController that does return a strongly typed object not within a ResponseEntity

我有以下控制器示例:

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

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

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

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

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

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

实际上,只有当有机会返回 200 以外的值时,我才必须测试响应状态。在这种情况下,我将使用 ResponseEntity 作为控制器的返回类型,这将允许我测试它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM