我們有一個從瀏覽器調用的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
所以你的測試應該觸發交互,然後驗證一個模擬 –