我编写了REST API,它位于jasper服务器和我的应用程序之间。 API基本上做了3件事
1.在jasper服务器上进行身份验证。
2.将所有当前报告列表从jasper服务器repo中提取到我的应用程序。
3.运行报告。
我需要使用mockito为这个API编写junit测试用例。我正在使用RESTEasy客户端。
请帮助我是junit和mockito的新手。如果有人有好的例子,请提供。提前谢谢。
答案 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模块。