【问题标题】:JUnit test cases using mockito for REST API connecting jasper server to application使用 mockito 将 jasper 服务器连接到应用程序的 REST API 的 JUnit 测试用例
【发布时间】:2015-11-26 07:07:40
【问题描述】:

我已经编写了 REST API,它位于 jasper 服务器和我的应用程序之间。 API 基本上是在做 3 件事 1.在jasper服务器上进行身份验证。 2. 将所有当前报告列表从 jasper 服务器 repo 带到我的应用程序。 3. 运行报告。
我需要为此 API 使用 mockito 编写 junit 测试用例。我正在使用 RESTEasy 客户端。

请帮助我是 junit 和 mockito 的新手。如果有人有很好的例子,请提供。提前致谢。

【问题讨论】:

    标签: java junit mockito jasperserver


    【解决方案1】:

    JASPERSERVER CE 源代码(公开的)包含许多 JUnit 测试,包括远程 REST 测试。 jasperserver-remote-tests 模块中有。有一个使用远程客户端测试 REST 的环境。

    您还可以在jasperserver-jax-rs-rest 模块中进行一些搜索。哪里有很多单元测试,但是如果你有 PRO jasperserver 源代码你可以看到 pro REST 模块。

    【讨论】:

      【解决方案2】:

      当您编写单元测试时,您通常希望模拟与您交互的外部系统,而不是实际与真实事物交互。否则,您的单元测试依赖于外部系统的启动和运行。

      您模拟的内容取决于您自己的代码以及它与该外部系统的接口。有了 RESTEasy,你可能会得到这样的结果:

          String expectedResponseFromJasperServer = ".....";
      
          ClientRequest request = mock(ClientRequest.class);
          ClientResponse<String> response = mock(ClientResponse.class);   
          when(request.get(String.class)).thenReturn(response);
          when(response.getEntity()).thenReturn(expectedResponseFromJasperServer);
      

      然后,这会将从服务器返回的响应模拟为您想要的任何响应,并且还可以确保您的代码处理该特定响应。

      【讨论】:

      • 感谢 jtsnr 的回复,能否提供一些模拟 jasper 服务器的示例?
      • 我添加了更多信息
      • 谢谢你,我要试试这个:)
      猜你喜欢
      • 1970-01-01
      • 2014-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多