我是新來的單元測試。有看起來像一個方法:你如何爲需要很長時間的方法進行單元測試?
public Image getImage(String url) {
Document pageSource = fecthSource(url);
Image myImage = parseHtmlToImage(pageSource);
return Image;
}
我寫一個單元測試:
@test
public void getRightPicture() {
Image img = imageFetcher.getImage("http://www.123.com");
assertEquals(img.sourceUrl, "http://www.123.com/456.png");
Image img = imageFetcher.getImage("http://www.abc.com");
assertEquals(img.sourceUrl, "http://www.abc.com/def.png");
}
但是,如果它需要很長的時間來訪問互聯網。我通常希望使用本地HTML文件來測試此方法,但有時會測試Web版本。
有什麼建議嗎?
我知道我可以傳遞一個本地url作爲getImage的參數,但這是一個特例。例如,也許我需要使用預先計算的數據來代替測試的慢速算法。 – 2011-05-12 18:19:52