Wir haben einen REST-Endpunkt (JAX-RS), der vom Browser aufgerufen wird. Wir geben OutputStream weiter, damit der Browser das Ergebnis des Aufrufs anzeigen kann.Wie testen wir diesen Lambda-Ausdruck?
Hier ist die Methode.
@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();
}
mit JUnit und Mockito, wie überprüfen wir, ob userHelper.findUser
und userHelper.updateUser
hat genannt?
Im Grunde wollen wir nur die Interaktionen verifizieren.
Sie müssen einen Mock von userHelper injizieren. Hast du schon ein TestCase erstellt? – Fildor
Ja. Das funktioniert nicht. Interaktion findet nicht statt, weil es sich um einen Lambda-Ausdruck handelt. – vinoth
, so sollte Ihr Test eine Interaktion auslösen und dann einen Schein überprüfen –