【发布时间】:2016-07-28 11:19:22
【问题描述】:
我们有一个从浏览器调用的 REST 端点 (JAX-RS)。我们正在传递 OutputStream 以便我们可以让浏览器显示调用的结果。
方法如下。
@Path("/mypath/{userId}")
@POST
public Response createUser(@PathParam("userId") final int userId ) {
StreamingOutput stream = (outputStream) -> {
User user = userHelper.findUser(userId);
userHelper.updateUser(user,outputStream);
};
return Response.ok(stream).build();
}
使用 Junit 和 Mockito,我们如何验证 userHelper.findUser 和 userHelper.updateUser 是否已被调用?
基本上我们只是想验证交互。
【问题讨论】:
-
你必须注入一个 userHelper 的 Mock。您是否已经创建了一个 TestCase?
-
是的。那是行不通的。没有发生交互,因为它是一个 lambda 表达式。
-
所以您的测试应该触发交互,然后验证模拟
标签: java unit-testing junit mockito