我有一个 HttpServlet,我正在尝试为其编写测试并模拟了 ServletOutputStream:ServletOutputStream outputStream = mock(ServletOutputStream.class);
。我需要在使用 println
的 servlet 中获取写入 outputStream 的内容。即,在 servlet 中,我有如下代码:
ServletOutputStream out = response.getOutpuStream();
out.println("foo");
所以,我想测试“foo”。我试过说 when(outputStream.println()).then...
,但这不起作用,因为 println() 是一个 void 方法。我还调查了 HttpServletResponseWrappers,但无法在那里找到解决方案。想法?我正在使用 Mockito。
最佳答案
如果您想查看“foo”是否传递给了您可以执行的 println 方法:
verify(outputStream).println(eq("foo"));
关于java - 从 println 读取模拟的 ServletOutputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8810524/