I have this retrofit call:
api.enqueue(new Callback<ResponseBody>() {
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
t.printStackTrace();
}
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
if (response.isSuccessful()) { // 200 - 300
String responseBody = response.body().string();
...
}
} catch (IOException e) {
e.printStackTrace()
}
}
}
and want trigger the IOException
in .string()
with MockWebServer.
I tried
MockResponse mockResponse = new MockResponse()
.setResponseCode(200)
.setSocketPolicy(SocketPolicy.DISCONNECT_DURING_RESPONSE_BODY)
.setBody("{}");
but that ends up in OnFailure
.
How can I trigger the IOException
?