下载本地文件以测试Alamofire

时间:2015-08-14 10:56:21

标签: ios swift xctest alamofire

我有一个Post对象应该可以使用Alamofire从服务器下载它的图像文件。

我真的希望能够使用XCTest对此进行测试,因此我将文件放在支持文件中并尝试使用

进行下载
let urlString: String = "\(bundleResourcePath)\(mediaURL)"
    let mediaPath : String = NSHomeDirectory() + "/Documents/postImages/\(id!).igo"
    var error : NSErrorPointer = NSErrorPointer()
    NSFileManager.defaultManager().createDirectoryAtPath(NSHomeDirectory()+"/Documents/postImages", withIntermediateDirectories: true, attributes: nil, error: error)
    let url : NSURL = NSURL(string: urlString)!
    NSFileManager.defaultManager().removeItemAtPath(mediaPath, error: nil)
    Alamofire.download(.GET, url) { (temporaryURL, response) in
        if let directoryURL = NSFileManager.defaultManager()
            .URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
            as? NSURL {
                let pathComponent = "postImages/\(self.id!).igo"
                return directoryURL.URLByAppendingPathComponent(pathComponent)
        }
        return temporaryURL
        }.response({ (request, response, data, error) -> Void in
            if error != nil {
                println(error!.localizedDescription)
            }
            self.image = UIImage(contentsOfFile: mediaPath)
            NSNotificationCenter.defaultCenter().postNotificationName(PostImageDownloadedNotification, object: self)
        })

但是我收到一条错误,指出“不支持的网址”。很公平,因为字符串是文件路径。所以我尝试let url = NSURL(fileURLwithpath:),但我得到的是运行时错误:

  

无法将'NSURLResponse'()类型的值转换为'NSHTTPURLResponse'()。

有没有人知道如何在没有服务器设置的情况下进行测试

0 个答案:

没有答案