从
Xcode 6.4升级到
Xcode 7(现在为7.0.1)后,我的项目在启动单元测试时会崩溃.我的iOS项目正在使用魔法记录,应用程序在这个断言中崩溃:
+ (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可以解决问题.
解决方法
结束通过调整我的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'