Xcode在单元测试中写入文件

时间:2015-01-19 17:09:28

标签: ios xcode unit-testing swift

据我所知,当单元测试执行时,它位于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)")
}

1 个答案:

答案 0 :(得分:3)

您应该能够使用临时目录:NSTemporaryDirectory()并让它可靠地指向安全的读写位置。我建议您确保清理所有创建的文件。

let dirPath = NSTemporaryDirectory()

要查看是否可以创建文件(根据更新的问题),请检查目录是否具有写权限:

let canCreate = NSFileManager.defaultManager().isWritableFileAtPath(dirPath)