【问题标题】:Testing a Realm-based framework in Swift在 Swift 中测试基于 Realm 的框架
【发布时间】:2016-05-09 14:27:04
【问题描述】:

我想将我的应用程序的一些功能封装在一个动态框架中。在这个框架中,我想使用 Realm 来持久化一些数据。

当然,测试框架的方法是使用 XCTest。但是,除了我的 XCTestCase 子类中的 import 语句之外,对 Realm 的任何使用都会出现这个奇怪的错误:

我使用 Copy Files 阶段在我的框架中包含了 Realm.framework 和 RealmSwift.framework。我也试过不这样做。我尝试在我的测试目标中链接 Realm 和 RealmSwift,而不是链接它们。我已经尝试了我能想到的一切。我不知道发生了什么。

这是一个目前几乎什么都不做的框架。有一个Object 子类,根本没有任何属性,还有一个测试用例,它只是设置了 Realm 配置进行测试,然后什么都不做:

Realm.Configuration.defaultConfiguration.inMemoryIdentifier = "TestFrameworkTests"

按照documentation 中的建议。

Realm 对象或任何Realm 类执行任何操作都会导致这个奇怪的错误。它变得有点奇怪:

1/02/2016 6:50:44.784 PM com.apple.debugserver-@(#)PROGRAM:debugserver  PROJECT:debugserver-340.4.119
[80894]: 1 +0.000000 sec [13bfe/1303]: error: ::read ( 3, 0x700000080a40, 1024 ) => -1 err = Bad file descriptor (0x00000009)

错误的文件描述符。那是从哪里来的?这是一个 Xcode 错误吗?如果是这样 - 有没有人找到解决方法?

这里是框架的副本,如果你想弄乱它:https://www.dropbox.com/s/q1708dw7uuaakoo/TestFramework.zip?dl=0

【问题讨论】:

  • 您的项目在我的机器上构建和运行。尝试重新启动计算机?此类问题可能是由于僵尸进程过多造成的。
  • 测试运行正常吗?真的吗?出于兴趣,您正在运行哪个版本的 Xcode?我越来越怀疑这是一个 Xcode 错误。
  • 更新:重启并没有解决任何问题。也没有吹走 DerivedData。

标签: ios swift realm xctest


【解决方案1】:

好的,这已通过从源代码编译解决。显然,Realm 中存在某种错误,该错误已在 GitHub 上修复,但未在二进制版本中修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多