junit 读取 resource 目录下照片文件

编写单元测试过程中,接口入参为照片文件 byte[],想到的方法是在 test/resources 目录下,放好测试照片。代码编写遇到两个问题

1. 读取 resources 目录下文件

  ClassPathResource resource = new ClassPathResource("front.png");

2. Resource 转换为 byte[]

Resource 有 getFile()接口,InputStreamSource 有 getInputStream() 接口,ClassPathResource 作为子类,可以通过这两个接口方法,然后再进行转换。还有一个更简便的方法,通过 Files 工具读取 path
注:Files 读取的 path 不是 ClassPathResource#getPath()的返回值,而是 ClassPathResource#getURL()#getPath() 的值

  byte[] bytes = Files.readAllBytes(Paths.get(resource.getURL().getPath()));