Realm DB单元测试失败并显示错误:“make_dir()failed”

时间:2017-01-09 02:31:39

标签: ios swift3 realm realm-mobile-platform

尝试使用realm作为我在我的应用程序中使用的db存储库来执行测试用例。在iOS设备上保存和执行操作正在按预期工作。但是我试图在模拟器中运行单元测试用例,测试用例失败并出现以下错误,

frameworkname.realm::find failed with error:Unable to open a realm at path '/Users/username/Library/Developer/CoreSimulator/Devices/D4700477-****-****-****-065C******7F2/data/Documents/frameworkname/frameworkname.realm.management': make_dir() failed: No such file or directory.

我尝试将Devices目录的读写权限设置为所有人,但仍然会引发相同的错误。

1 个答案:

答案 0 :(得分:0)

错误消息中的

make_dir() failed表示您试图在不可写目录中打开Realm文件。

将文件复制到可写URL可能会解决以下问题:

let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let documentsDirectory = paths[0]
let realmURL = documentsDirectory.appendingPathComponent("data.realm")
try! FileManager.default.copyItem(at: Realm.Configuration.defaultConfiguration.fileURL, to: realmURL)

config.fileURL = realmURL
Realm.Configuration.defaultConfiguration = config

let realm = try! Realm()]