gpt4 book ai didi

ios - 为核心数据迁移测试生成旧版本xcdatamodel的数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:05 24 4
gpt4 key购买 nike

在我们现有的应用程序中,我们有许多不同版本的xcdatamodel:

+ TheApp.xcdatamodel
TheApp.1.0.xcdatamodel
TheApp.1.1.xcdatamodel
TheApp.2.0.xcdatamodel
...

我们知道做数据库迁移测试的传统方式是在这个问题中提出的:How to Test Core Data Migration With an App Already in the App Store?简而言之,它的工作原理如下:

  1. 安装旧版本的应用;
  2. 在旧版应用中创建一些数据;
  3. 在其上安装新版本;
  4. 查看是否所有内容都已正确迁移。

我们一直在对所有以前版本的应用程序使用这种迁移测试方法。我们的QA会执行以上步骤,然后自行判断迁移是否成功。

但是,在最近的升级中,我们的数据模型发生了很大变化。要求 QA 记住在旧版本应用程序中创建的内容并知道在迁移过程中丢失或不丢失的内容听起来不是一个好主意。因此,我们想看看是否可以由开发人员自己编写数据库迁移的单元测试。

所以第一步就是生成测试数据。请注意,我们可以从我们的 Xcode 项目中看到所有以前版本的 xcdatamodel,这似乎是可能的。简而言之,问题:

是否可以从我们当前版本的应用程序中以编程方式生成以前版本的 xcdatamodel 的测试数据?

请告诉我您的想法。建议也可以接受。

最佳答案

我们是这样做的:我们需要首先获取您想要使用的任何模型的 URL,然后从中创建一个 managedObjectModel

let oldModelUrl = NSBundle.mainBundle().URLForResource("CoreDataExample.momd/CoreDataExample",
withExtension: "mom")!
let oldManagedObjectModel = NSManagedObjectModel.init(contentsOfURL: oldModelUrl)

引用:https://medium.com/@yzhong.cs/1d9f941b3168 .

关于ios - 为核心数据迁移测试生成旧版本xcdatamodel的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28677079/

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