出于单元测试的目的,我需要能够创建一个
NSError
对象,并将 underlyingErrors
属性设置为某个错误。
我知道怎么做了。初始化 NSError 时必须使用
userInfo
字段。下面是一个示例,当您尝试删除不存在的文件时,FileManager 通常会抛出一个错误:
func createFilesystemError() -> NSError {
let underlyingNSError = NSError(domain: "NSPOSIXErrorDomain", code: 2)
let userInfo = [NSUnderlyingErrorKey: underlyingNSError]
return NSError(domain: "NSCocoaErrorDomain", code: 4, userInfo: userInfo)
}