据我所知,当单元测试执行时,它位于Xcode的沙箱环境中。 在单元测试中,我需要将数据写入和读取到文件中。 由于项目驻留在git存储库中,因此必须完全从代码中完成(即不能对目录进行特殊的手动测试设置)
对于我今天所有的搜索和尝试,我都找不到从单元测试中写入文件的方法。
有人知道在这些条件下写入文件的方法吗?
编辑:这是有问题的代码:
let dirPath = NSTemporaryDirectory()!
var filePath = dirPath.stringByAppendingPathComponent("unittest.json")
if !NSFileManager.defaultManager().isWritableFileAtPath(filePath) {
return (nil, "Directory missing or write access not granted for \(path)")
}
答案 0 :(得分:3)
您应该能够使用临时目录:NSTemporaryDirectory()
并让它可靠地指向安全的读写位置。我建议您确保清理所有创建的文件。
let dirPath = NSTemporaryDirectory()
要查看是否可以创建文件(根据更新的问题),请检查目录是否具有写权限:
let canCreate = NSFileManager.defaultManager().isWritableFileAtPath(dirPath)