1
我已經在這裏看到後How to unit test Realm migrations和想實現什麼,他們都表示這是如下:如何正確的單元測試領域遷移
存儲舊.realm
文件和編寫測試的前/後遷移。
我有我的v0.realm
文件在我的單元測試包和正在創建的副本一起工作。問題是,在我最近的遷移中,我從我的應用程序中刪除了一個Type,因此從Realm中刪除了一個Type,我想測試它不再存在。
當我設置我的領域配置時,我應該可以應用一些objectTypes
,但該類不再在我的應用程序中,我不確定如何檢查它。
這裏是我目前的測試設置,我試圖測試我的對象存在於Realm v0中。請注意,這是我與Realm的第一次遷移,也是我第一次使用Realm。
let realmV0 = loadRealmFromResource(withName: "realm-v0")
// Test that MyEntity exists
// How can I specify my objectTypes without having access to MyEntity.self
// since it no longer exists in my project?
let configuration = Realm.Configuration(fileURL: realmV0, deleteRealmIfMigrationNeeded: true, objectTypes: objectTypes)
let realm = try! Realm(configuration: configuration)
let results = realm.dynamicObjects("MyEntity")
XCTAssert(results.count > 0)
爲了讓你打開一個在你的項目中不再聲明的類型的Realm,你需要在「動態」模式下打開一個Realm,但是看起來你已經做得足夠了,避免使用Realm API中較少知道的部分。 – jpsim