【问题标题】:Core Data test fixture fails to load into the DB correctlyCore Data 测试夹具无法正确加载到数据库中
【发布时间】:2014-12-20 01:49:14
【问题描述】:

我正在测试我的核心数据对象,首先在内存中设置一个完整的核心数据堆栈,然后为每次测试再次拆除它。

对于一些测试,我在设置方法中设置了一些相关的对象,然后继续测试它们与它们的交互。在我打了近 400 个测试用例之后,很长一段时间内一切正常,随机的测试用例开始失败。单独他们都通过了。

经过大量调试后,我发现有时我的一个灯具上的属性设置不正确。我知道在大多数情况下它确实设置好了。

为了始终如一地看到发生的错误,我已经复制了 20 次左右的测试 - 重命名了每一个。果然,现在该套件的每次运行都会导致至少一两个案例失败。

有什么方法可以确保我的灯具设置正确吗?核心数据是否存在无法快速建立和拆除商店的问题?

  • 我不想在我的测试中加入睡眠 - 太慢了。
  • 我不想在磁盘上有一个 db - 太慢了。
  • 我并不特别想检查该特定测试类的属性设置是否正确,因为那是不可扩展的。

Xcode 5.1.1,XCTest

【问题讨论】:

    标签: ios unit-testing core-data xctest


    【解决方案1】:

    您是否尝试过休眠以查看是否能解决问题?这可以告诉您是否正在处理 Core Data 的性能限制。是不是内存不够了?

    【讨论】:

    • 是的,我确实相信这与此有关 - 睡眠有所帮助,但我真的不想这样做。目前我已经修改了我的测试以在 setUp 上将更少的数据加载到数据库中。我测试的代码略少,但我的套件要稳定得多。当我有更多时间时可能会回到这个问题。
    猜你喜欢
    • 2013-08-24
    • 2011-03-10
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 2011-06-07
    相关资源
    最近更新 更多