Issue
I have developed an application using Spring Boot and am now using JUnit for writing unit tests. I'm new to Junit, so I know very little of its potential. I use the handy OkHttp (okhttp3) library to make HTTP calls. This is an example of the method that makes a GET call:
HttpUrl.Builder httpBuilder = HttpUrl.parse(MY_URL).newBuilder();
httpBuilder.addQueryParameter("myQueryParameter", myQueryParameter);
Request request = new Request.Builder().url(httpBuilder.build())
.get()
.addHeader("Cookie", "myCookie=myCookieContent")
.build();
Response response = client.newCall(request).execute();
String data = response.body().string();
This code makes an HTTP GET call to the MY_URL
URL and retrieves the string representing the JSON of the response. It's really simple code in my opinion, but I have no idea how to use JUnit and Mockito to get a code coverage that also analyzes these specific lines of code.
What is the best way to do it?
Solution
you should consider to use the MockWebServer: https://github.com/square/okhttp/tree/master/mockwebserver to mock the response from MY_URL
then You can create the junit test to check your flow: check sample https://rieckpil.de/test-spring-webclient-with-mockwebserver-from-okhttp/
Answered By - marek.kapowicki
Answer Checked By - Robin (JavaFixing Admin)