我们如何对这个lambda表达式进行单元测试?

Vin*_*C M 5 java junit unit-testing mockito

我们有一个从浏览器调用的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();
}
Run Code Online (Sandbox Code Playgroud)

使用JUnit和的Mockito,我们如何验证是否userHelper.findUseruserHelper.updateUser被称为

基本上我们只想验证交互.

小智 0

仅当另一端(通常是浏览器)的某人开始从中拉取时,才会调用 StreamingOutput。您的测试用例将需要接管并(根据评论的建议)开始与响应交互。