我编写了一个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 );