Wie zum Hohn ein javax.- servlet.ServletInputStream

Erstelle ich einige unit-Tests und versuchen zu Verspotten einige Anrufe. Hier ist, was ich in meinen arbeiten-code:

String soapRequest = (SimUtil.readInputStream(request.getInputStream())).toString();
if (soapRequest.equals("My String")) { ... }

und SimUtil.readInputSteam sieht wie folgt aus:

StringBuffer sb = new StringBuffer();
BufferedReader reader = null;
try  {
    reader = new BufferedReader(new InputStreamReader(inputStream));
    final int buffSize = 1024;
    char[] buf = new char[buffSize];
    int numRead = 0;
    while ((numRead = reader.read(buf)) != -1) {
        String readData = String.valueOf(buf, 0, numRead);
        sb.append(readData);
        buf = new char[buffSize];
    }
} catch (IOException e) {
    LOG.error(e.getMessage(), e);
} finally {
    try {
        if (reader != null) {
            reader.close();
        }
    } catch (IOException e) {
        LOG.error(e.getMessage(), e);
    }
}

Was ich versuche zu tun, ist der Wunsch.getInputStream(), die den stream gibt bestimmte Zeichenfolge.

HttpServletRequest request = mock(HttpServletRequest.class);
ServletInputStream inputStream = mock(ServletInputStream.class);
when(request.getInputStream()).thenReturn(inputStream);

Also das ist der code ich möchte Zustand

when(inputStream.read()).thenReturn("My String".toInt());

Jegliche Hilfe würde sehr geschätzt werden.

InformationsquelleAutor Churk | 2014-01-08
Schreibe einen Kommentar