我正在开发iOS应用程序,我试图用测试驱动的开发做到这一点。 我一直在阅读关于这个问题的很多,我在一个偶然的事情之一本书是测试应该是快速的,可重复的和可靠的 。 因此,写网络代码的测试时,测试应该“模拟”的网络,以便它可以在不考虑网络的可用性执行。
在我的代码我有一个从互联网上获取的图像与URL,其刻度并将其存储在使用dataWithContentsOfURL从NSData的文件系统的方法:
+ (void) getImage:(NSString *)imageUrl {
UIImage *image = [UIImage imageWithData:
[NSData dataWithContentsOfURL:[NSURL URLWithString:imageUrl]]];
// Scale image
// Save image in storage
}
我的问题是:什么是测试这种方法的好方法,让测试通过时的代码是正确的,当它不是,失败没有考虑到可能的网络故障?
目前在我的测试中我忽略了该方法需要一个连接,只是希望结果是正确的事实。 不过,我已经看到我的时候试衣服的增长这会成为一个问题,因为他们已经采取了相当多的时间来运行。 更重要的是,我不希望我的测试中,因为没有良好的网络连接,因为我相信这不是他们的目的只是失败。 我明白任何建议。