我理解单元测试执行时,是在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)")
}
最佳答案
您应该能够使用临时目录:NSTemporaryDirectory()
并让它可靠地指向一个安全的读写位置。我建议您确保清理所有创建的文件。
let dirPath = NSTemporaryDirectory()
要查看是否可以创建文件(根据更新的问题),请检查目录的写入权限:
let canCreate = NSFileManager.defaultManager().isWritableFileAtPath(dirPath)
关于ios - Xcode 在单元测试中写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28030011/