[英]Testing a URI with local image
下面的方法采用一個指向圖像的 url 並返回輸入流:
public InputStream getIs(URI uri) {
// some implementation...
}
為了對此進行單元測試,我計划使用我通過 Google 搜索選擇的網址: https : //p.bigstockphoto.com/GeFvQkBbSLaMdpKXF1Zv_bigstock-Aerial-View-Of-Blue-Lakes-And--227291596.jpg “因此創建一個 URI使用:
new URI("https://p.bigstockphoto.com/GeFvQkBbSLaMdpKXF1Zv_bigstock-Aerial-View-Of-Blue-Lakes-And--227291596.jpg")
但這似乎是不好的做法。 我應該將圖像添加到Maven
項目的test/resources
文件夾並從那里讀取圖像嗎? 如果我這樣做,那么 URI 不再有效,因為
new URI("classpath:testimage.jpg")
拋出異常:
org.springframework.web.client.ResourceAccessException:
I/O error on GET request for "classpath:testimage.jpg":
URI does not specify a valid host name: classpath:testimage.jpg;
nested exception is org.apache.http.client.ClientProtocolException:
URI does not specify a valid host name: classpath:testimage.jpg
是的,單元測試的最佳實踐是使用資源文件。 嘗試使用此解決方案為您的getIs()
方法提供正確的URI
值:
URL res = getClass().getClassLoader().getResource("image.jpg");
URI uri = res.toURI();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.