【发布时间】: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