使用mockito for REST API的JUnit测试用例将jasper服务器连接到应用程序

时间:2015-11-26 07:07:41

标签: java junit mockito jasperserver

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

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

2 个答案:

答案 0 :(得分:0)

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

你模拟的东西取决于你自己的代码以及它对外部系统的界面。使用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);

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

答案 1 :(得分:0)

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

您也可以在jasperserver-jax-rs-rest模块中进行搜索。许多单元测试在哪里,但如果你有PRO jasperserver源代码,你可以看到专业的REST模块。