Xcode在单元测试中写入文件

Rie*_*ien 5 xcode unit-testing ios 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)")
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*rry 4

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

let dirPath = NSTemporaryDirectory()
Run Code Online (Sandbox Code Playgroud)

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

let canCreate = NSFileManager.defaultManager().isWritableFileAtPath(dirPath)
Run Code Online (Sandbox Code Playgroud)