如何正确unit testingRealm迁移

我看过这里的post如何对Realm迁移进行unit testing,并试图实现他们所说的内容,如下所示:


存储旧的.realm文件并为迁移之前/之后编写测试。


我在我的unit testing包中有我的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) 

我无法确定在没有类的情况下访问实体的方法,因此我决定将文件保留在我的项目中,以便通过unit testing确保迁移正常工作。

虽然迁移不需要该类,因为我可以使用字符串中的类名删除实体,但我希望在项目中保留一个小文件比希望迁移正常工作更安全。