2015-10-05 19 views
13

Xcode 6.4からXcode 7(そして今7.0.1)にアップグレードした後、ユニットテストを開始するとプロジェクトがクラッシュします。私のiOSのプロジェクトは、この主張に魔法を記録し、アプリのクラッシュを使用している:Xcode 7魔法のレコードユニットのテストが失敗しました

+ (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に戻すと、問題が解決されます。

+0

link_with 'TestApp', 'TestAppTests', 'TestAppUITests' platform :iOS, '8.1' target 'TestApp' do pod 'MagicalRecord' end target 'TestApp' do pod 'OHHTTPStubs' end 

以前は私のポッドファイルはちょうどこのように見えました。あなたは解決策を見つけましたか? – ryancrunchi

+0

まだありません。 :C – joshbillions

+0

どのMRのバージョンを使用していますか?私は2.2で同じ問題が発生しましたが、まだ2.3でテストしていません。 – Jack

答えて

1

からすべての古いランタイムライブラリを削除することができます私Podfileを調整して:私は同じコードで、同じ問題を持っている

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

リリースノートで述べたように、このような状況は、古いランタイム環境の存在に由来することができます古いiOSシミュレータは (Xcodeの6.xのを)ランタイム場合

Xcodeのプロセスが予期せず終了することがありますが、ディスク上に存在している

これが原因であるかどうかを確認するには、/ライブラリ/開発/ CoreSimulator /プロファイル/ランタイム問題を解決することになった

+0

Xcodeのプロセスは予期せず終了しません。同じ結果。 – joshbillions

関連する問題