小编Gee*_*nya的帖子

如何使用Jersey 2测试框架为此类编写单元测试

我正在尝试为Rest api调用编写单元测试,该调用具有POST方法,用于使用Jersey2将视频文件添加到基于Web的应用程序.这是TemplateController.java我想要编写单元测试的class()方法的签名:

@POST
@Path("/video/add")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response addVideoData(
    @Context HttpServletRequest request, 
    AttachmentDTO attachmentDTO) {
        ...
}
Run Code Online (Sandbox Code Playgroud)

这是我测试类(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
    ...
}
Run Code Online (Sandbox Code Playgroud)

我能够在传递AttachmentDAO对象到TemplateController从测试类类,但无法通过这是越来越无效的请求对象method(addVideoData())TemplateController.java class.

我正在使用RequestHelper类,它是一个帮助类HttpServletRequest,所以我想将这个类的对象传递给method(addVideoData())使用Jersey2测试框架.

java rest unit-testing jersey jersey-2.0

3
推荐指数
1
解决办法
7925
查看次数

标签 统计

java ×1

jersey ×1

jersey-2.0 ×1

rest ×1

unit-testing ×1