ブラウザから呼び出されるRESTエンドポイント(JAX-RS)があります。 OutputStreamの周りを回っているので、ブラウザは呼び出しの結果を表示できます。このラムダ式を単体テストする方法は?
ここにその方法があります。 JUnitのとMockitoを使用して
@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();
}
userHelper.findUser
とuserHelper.updateUser
がと呼ばれてきた場合、どのように我々は確認していますか?
基本的には、相互作用を確認したいだけです。
userHelperのモックを注入する必要があります。すでにTestCaseを作成しましたか? – Fildor
はい。それは動作しません。インタラクションはラムダ式であるため発生しません。 – vinoth
あなたのテストで相互作用が発生し、モックを検証する必要があります –