gpt4 book ai didi

ios - 如何正确地对 Realm 迁移进行单元测试

转载 作者:行者123 更新时间:2023-11-28 06:16:15 26 4
gpt4 key购买 nike

我看过这里的帖子How to unit test Realm migrations并正在努力实现他们所说的内容如下:


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


我的单元测试包中有我的 v0.realm 文件,我正在创建它的副本以供使用。问题是,在我最近的迁移中,我从我的应用程序中删除了一个类型,因此从 Realm 中删除了一个类型,我想测试它是否不再存在。

当我设置我的 Realm 配置时,我应该能够应用一些 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)

最佳答案

我无法确定在没有类的情况下访问实体的方法,因此我决定将该文件保留在我的项目中,这样我就可以通过单元测试确保迁移正常进行。

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

关于ios - 如何正确地对 Realm 迁移进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45065823/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com