Я пишу контрольный пример для сервлетов, использующих mockito.
В ответе сервлета задается использование servletoutputstream.
Я отправляю запрос, сервлет работает нормально и выдает вывод в консоли, но в тестовом классе я не получаю класс.
ниже приведен код для настройки ответа:
protected void commitResponseBuffer(String buffer, ServletResponse response) throws IOException
{
response.setContentType("text/plain");
System.out.println("Uncompressed Response Buffer : Size = " + buffer.length());
// write to ZipOutputStream
ByteArrayOutputStream bos = new ByteArrayOutputStream ();
ZipOutputStream out = new ZipOutputStream(bos);
out.putNextEntry(new ZipEntry("response.txt"));
out.write(buffer.getBytes("UTF-8"));
//out.flush();
out.closeEntry();
out.close ();
bos.close();
// encode to Base64 string
String b64String = Base64.encodeBase64String(bos.toByteArray());
// set the response
ServletOutputStream servletOut = response.getOutputStream();
response.setContentLength(b64String.length());
System.out.println("Compressed Response Buffer : Size = " + b64String.length());
servletOut.print(b64String);
System.out.println(b64String);
servletOut.close();
}
и в тестовом классе
when(response.getOutputStream()).thenReturn(servletOut);
new xlCollaborationService().service(request, response);
System.out.println("Response Buffer in mock :"+response.getContentType());
Может кто-нибудь предложить мне, как прочитать ответ в тестовом классе ???
Заранее спасибо.