【问题标题】:Xcode 7 Magical Record Unit Tests FailXcode 7 Magical Record 单元测试失败
【发布时间】:2016-01-02 07:31:54
【问题描述】:

从 Xcode 6.4 升级到 Xcode 7(现在是 7.0.1)后,我的项目在开始单元测试时崩溃。我的 iOS 项目正在使用 Magical Record,应用程序在此断言处崩溃:

    + (NSManagedObjectContext *) MR_defaultContext
{
    @synchronized(self) {
        NSAssert(MagicalRecordDefaultContext != nil, @"Default context is nil! Did you forget to initialize the Core Data Stack?");
        return MagicalRecordDefaultContext;
    }
}

我已经注释掉了我之前的所有测试,这两个测试都显示了相同的行为:

#import <XCTest/XCTest.h>

@interface BadTests : XCTestCase

@end

@implementation BadTests

- (void)setUp {
    [super setUp];
}

- (void)tearDown {
    [super tearDown];
}

- (void)testSanity {
    XCTAssert(1 == 1);
}

@end

#import <XCTest/XCTest.h>
#import <MagicalRecord/MagicalRecord.h>

@interface BadTests : XCTestCase

@end

@implementation BadTests

- (void)setUp {
    [super setUp];
    NSLog(@"*** USING IN MEMORY STORE ***");
    [MagicalRecord setLoggingLevel:MagicalRecordLoggingLevelDebug];
    [MagicalRecord setupCoreDataStackWithInMemoryStore];
}

- (void)tearDown {
    [MagicalRecord cleanUp];
    [super tearDown];
}

- (void)testSanity {
    XCTAssert(1 == 1);
}

@end

使用相同的测试恢复到 Xcode 6 可以解决问题。

【问题讨论】:

  • 我有同样的问题,使用相同的代码。你找到解决办法了吗?
  • 您使用的是哪个版本的 MR?我在 2.2 中遇到过同样的问题,但尚未在 2.3 中进行测试
  • 我正在使用通过 CocoaPods 安装的 2.3.0。这可能是因为没有将测试与 MR 正在寻找的东西联系起来吗?
  • 调用堆栈的其余部分是什么?
  • 仍然没有解决办法?我也面临同样的情况:(

标签: ios objective-c core-data magicalrecord


【解决方案1】:

最终通过调整我的 Podfile 解决了问题:

link_with 'TestApp', 'TestAppTests', 'TestAppUITests'

platform :iOS, '8.1'

target 'TestApp' do
     pod 'MagicalRecord'
end

target 'TestApp' do
     pod 'OHHTTPStubs'
end

以前我的 pod 文件看起来像这样:

platform :iOS, '8.1'
pod 'MagicalRecord'
pod 'OHHTTPStubs'

【讨论】:

    【解决方案2】:

    这种情况可能源于发行说明中提到的旧运行时环境的存在:

    如果较旧的 iOS 模拟器运行时,Xcode 进程可能会意外退出 (Xcode 6.x) 存在于磁盘上

    要检查是否是这个原因,您可以从 /Library/Developer/CoreSimulator/Profiles/Runtimes 中删除所有旧的运行时库

    【讨论】:

    • 没有 Xcode 进程意外退出我所知道的。问题似乎与Magical Record有关。我从该目录中删除了所有旧的运行时库并得到了相同的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 2016-07-05
    • 1970-01-01
    • 2016-01-02
    相关资源
    最近更新 更多