MockMVC - 如何在不使用mockMvc进行实际发布的情况下测试帖子到端点?

问题描述 投票:0回答:1

我有一个我想测试的REST端点。通过POST请求访问此端点会在远程git仓库中上传文件。我正在尝试使用mockMvc测试对此端点的POST调用(我只想看到返回状态“isOk()”) - 我不希望端点实际上被我的jUnits命中,因为这会导致不必要的文件要上传到仓库,需要稍后清理。

我的问题是,mockMvc正在对端点进行实际的POST调用!问心无愧!我以为这都被嘲笑了?!是否可以让mockMvc返回isOk()而不对端点进行实际调用并将文件推送到我的远程仓库?

java junit mockmvc
1个回答
1
投票

模拟MVC只是一个工具,可以调用标记为@GetMapping@PostMapping等的方法。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.