【发布时间】:2023-03-15 03:54:01
【问题描述】:
我有一个 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。
【问题讨论】:
-
您使用的模拟 API 是什么?
-
您要确保将“foo”写入流吗?那将是(在 Mockito 中): verify(outputStream).println(eq("foo"));
标签: java unit-testing junit mocking mockito