我是新来的单元测试。有看起来像一个方法:你如何为需要很长时间的方法进行单元测试?
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