我有一个REST端点要测试。通过POST请求访问此端点将在远程git中上载文件。我正在尝试使用mockMvc测试对这个端点的POST调用(我只想看到返回状态"isOk()") --我不希望这个端点实际被isOk击中,因为这会导致不必要的文件被上传到回购程序中,以后需要清理。
我的问题是,mockMvc正在对端点进行实际的POST调用!是的!我以为这都是被嘲笑的?!是否可以让mockMvc返回isOk()而不对端点进行实际调用并将文件推送到远程回购?
发布于 2018-09-17 14:35:04
模拟MVC只是一个工具,可以调用标记为@GetMapping、@PostMapping等的方法。
控制器中的post方法实际上是您需要测试的方法,它不应该被模拟,这就是为什么您到达了真正的端点。
我建议您调整控制器,使post方法只将发送请求的任务委托给服务。这样,您的控制器将只有一行代码(服务调用),同时您将能够模拟该服务,这样它就不会到达真正的端点。
https://stackoverflow.com/questions/52302398
复制相似问题