junit 读取 resource 目录下照片文件

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

1. 读取resources目录下文件

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

2. Resource转换为byte[]

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

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