Wie schreibe ich Unit Test für diese Klasse mit Jersey 2 Test Framework?
Ich versuche, einen Komponententest für einen Rest-API-Aufruf zu schreiben, bei dem eine POST-Methode zum Hinzufügen einer Videodatei zu einer webbasierten Anwendung unter Verwendung von Jersey2 verwendet wird. Hier ist die Signatur der Methode meiner Klasse TemplateController.java
) für die ich einen Komponententest schreiben möchte:
@POST
@Path("/video/add")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response addVideoData(
@Context HttpServletRequest request,
AttachmentDTO attachmentDTO) {
...
}
Hier ist meine Testmethode der Testklasse TemplateControllerUnitTestCase.java
):
@Test
public void videoAdd_requestObjectIsNull_ResponseStatusIsOK() throws Exception {
// arrange
Builder builder = target("/target/video/add").request();
// action
final Response response = builder.post(Entity.entity(attachemntDTO, MediaType.APPLICATION_JSON));
// assertion
...
}
Ich kann das @ übergebAttachmentDAO
Objekt zumTemplateController
class aus der Testklasse, kann aber das Anforderungsobjekt, das im @ -Zeichen null wird, nicht übergebmethod(addVideoData())
desTemplateController.java class
.
Ich benutzeRequestHelper
Klasse, die eine Hilfsklasse für @ iHttpServletRequest
, also möchte ich ein Objekt dieser Klasse an das @ übergebmethod(addVideoData())
mit Jersey2 Test Framework.