我们有一个从浏览器调用的REST终点(JAX-RS)。我们正在传递OutputStream,以便我们可以让浏览器显示调用的结果。我们如何单元测试这个lambda表达式?
这里是方法。
@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。你是否已经创建了一个TestCase? – Fildor
是的。这是行不通的。交互不会发生,因为它是一个lambda表达式。 – vinoth
所以你的测试应该触发交互,然后验证一个模拟 –