代码之家  ›  专栏  ›  技术社区  ›  kramsiv94

MockMVC-如何在没有MockMVC生成实际post的情况下测试post到端点?

  •  0
  • kramsiv94  · 技术社区  · 6 年前

    我有一个休息终点我想测试。通过POST请求点击该端点将在远程git repo中上载一个文件。我正在尝试使用mockMvc测试对这个端点的POST调用(我只想看到返回状态“isOk()”)——我不希望端点被我的junit实际击中,因为这会导致不必要的文件被上传到repo,并且需要稍后清理。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Sasha Shpota A-Bag    6 年前

    Mock MVC只是一个工具,它使调用标记为的方法成为可能 @GetMapping , @PostMapping

    控制器中的post方法实际上是您需要测试的方法,不应该对其进行模拟,这就是为什么您要命中真正的端点。

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