Java单元测试验证ServletOutputStream

时间:2018-06-16 06:13:50

标签: java servlets junit4

我编写了一个JUnit4单元测试来验证servlet响应,servlet响应有两个额外的字段,分别对应0和字节流的长度。这些不会在servlet调用中添加,也可能是在内部完成的。

我无法将整数添加到字节数组进行比较。每个项目都作为字节数组进行比较。如何在单元测试中验证servlet响应?

@Mock
private HttpServletRequest httpServletRequest;

@Mock
private HttpServletResponse httpServletResponse;

@Mock
private ServletOutputStream servletOutputStream;


@Test
public void testOutputStream() throws Exception {

    when(httpServletResponse.getOutputStream()).thenReturn(servletOutputStream);

    // Invoke servlet call
    doGet.invoke(handle, httpServletRequest, httpServletResponse);

    // Verify output stream
    verify(servletOutputStream).write(out.getBytes());
}

争论是不同的!通缉:

servletOutputStream.write(     [(byte)0x23,(byte)0x45,(byte)0x58,(byte)0x54,(byte)0x4D,(byte)0x33,(byte)0x55,(byte)0x0A,(byte)0x23,(byte)0x45 ] );

实际调用有不同的参数:

servletOutputStream.write(     [(byte)0x23,(byte)0x45,(byte)0x58,(byte)0x54,(byte)0x4D,(byte)0x33,(byte)0x55,(byte)0x0A,(byte)0x23,(byte)0x45 ] 0,10 );

0 个答案:

没有答案