为了账号安全,请及时绑定邮箱和手机立即绑定

MockMVC - 如何在没有 mockMvc 进行实际发布的情况下测试发布到端点?

MockMVC - 如何在没有 mockMvc 进行实际发布的情况下测试发布到端点?

心有法竹 2021-09-15 16:14:00
我有一个想要测试的 REST 端点。通过 POST 请求点击此端点会上传远程 git 存储库中的文件。我正在尝试使用 mockMvc 测试对此端点的 POST 调用(我只想看到返回状态“isOk()”)——我不希望端点实际上被我的 jUnits 击中,因为这会导致不必要的文件上传到 repo,稍后需要清理。我的问题是,mockMvc 正在对端点进行实际的 POST 调用!用!我以为这都是被嘲笑的?!是否可以让 mockMvc 返回 isOk() 而无需实际调用端点并将文件推送到我的远程存储库?
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

模拟MVC只是让它可以调用标记的方法的工具@GetMapping@PostMapping等等。

来自控制器的 post 方法实际上是您需要测试的方法,不应模拟它,这就是您命中真正端点的原因。

我建议您以 post 方法仅将发送请求的工作委托给服务的方式重构您的控制器。这样您的控制器将只有一行代码(服务调用),同时您将能够模拟服务,使其不会到达真正的端点。


查看完整回答
反对 回复 2021-09-15
  • 1 回答
  • 0 关注
  • 181 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信