如何为返回InputStreamResource的服务编写测试用例

时间:2018-08-15 20:20:49

标签: spring spring-boot integration-testing inputstream

我有一项可从外部系统获取文件的服务

来自控制器的示例代码:

ResponseEntity.ok().header(...)
    .contentType(MediaType.APPLICATION_OCTET_STREAM)
    .body(new InputStreamResource(transfer.accessContentStream()));

transfer.accessContentStream是InputStream类型。

示例测试代码:

ResponseEntity<?> response = testRestTemplate.exchange(url, HttpMethod.GET, null, InputStreamResource.class);
InputStream initialStream = ((InputStreamResource)response.getBody()).getInputStream();
System.out.println("<<<<<<< "+initialStream.available());

输出为<<<<<<< 1.或java.io.IOException:尝试从封闭流中读取。

我想要一个集成测试,该测试可以为我提供流对象并能够写入文件。

谢谢

0 个答案:

没有答案