【问题标题】:Swift package unit testing with CoreData使用 CoreData 进行 Swift 包单元测试
【发布时间】:2020-02-04 02:58:49
【问题描述】:

我有一堆文件,它们在 CoreData 之上提供一些服务。我的单元测试运行良好。我决定使用 XCode 11 将所有这些移动到一个 Swift 包中。

单元测试不再运行,运行时错误为caught "NSInternalInconsistencyException", "NSFetchRequest could not locate an NSEntityDescription for entity name

为了进行单元测试,我有一个 xcdatamodel 文件,如果包中包含在测试组中。但似乎 XCode 不允许我将这个 xcdatamodel 文件真正包含在测试目标中。

如何将这个 xcdatamodel 包含在测试目标中?

【问题讨论】:

  • 对于否决这个问题的人:我完全可以接受这可能是一个错误/愚蠢的问题,但你能解释一下为什么吗?这也将帮助我进步。谢谢:-)

标签: swift core-data package-managers xcode11


【解决方案1】:

根据this post.xcdatamodeld 文件不受支持,因为您无法捆绑资源,因此如果您想使用 Core Data 模型,您必须以编程方式进行(在帖子中显示如何)。

PS 我自己也在解决这个问题,我认为要记住的另一件事是指定managedObjectModel(除了name)如果/何时实例化NSPersistentContainer

【讨论】:

  • 很遗憾,我得出了同样的结论。我希望将来会有所改变。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-15
  • 2015-07-27
  • 1970-01-01
相关资源
最近更新 更多