簡體   English   中英

使用本地圖像測試 URI

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM