2015-10-05 15 views
13

Po aktualizacji z Xcode 6.4 na Xcode 7 (a teraz 7.0.1) mój projekt ulega awarii podczas uruchamiania testów jednostkowych. Mój projekt iOS używa magicznego Rekord i awarie aplikacji w tym twierdzeniu:Xcode 7 Testy na magiczne tablice rekordów zakończone niepowodzeniem

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

Mam zakomentowanym wszystkich moich poprzednich badań, a oba te testy pokazują ten sam problem:

#import <XCTest/XCTest.h> 

@interface BadTests : XCTestCase 

@end 

@implementation BadTests 

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

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

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

@end 

i

#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 

Powrót do Xcode 6 z tymi samymi testami rozwiązuje problem.

+0

Mam ten sam problem, z tym samym kodem. Znalazłeś rozwiązanie? – ryancrunchi

+0

Nic jeszcze. : C – joshbillions

+0

Którą wersję MR używasz? Napotkałem ten sam problem z 2.2, ale jeszcze nie przetestowałem z 2.3 – Jack

Odpowiedz

1

Skończyło się rozwiązania problemu regulując mój Podfile:

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

platform :iOS, '8.1' 

target 'TestApp' do 
    pod 'MagicalRecord' 
end 

target 'TestApp' do 
    pod 'OHHTTPStubs' 
end 

Wcześniej mój plik pod właśnie wyglądał tak:

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

Sytuacja ta może wynikać z obecności starego środowiska wykonawczego, o którym mowa w dokumencie Release Notes:

procesy Xcode może nieoczekiwanie zakończyć jeśli starsze iOS Simulator środowisko wykonawcze (Xcode 6.x) są obecne na dysku

Aby sprawdzić, czy to jest przyczyną, można usunąć wszystkie stare biblioteki wykonawcze z/Library/Developer/CoreSimulator/profiles/Runtimes

+0

Żadne procesy Xcode nieoczekiwanie nie wychodzi z tego, co mogę powiedzieć.Problem wydaje się być z Magical Record.Odniosłem wszystkie stare biblioteki runtime z tego katalogu i dostałem takie same wyniki. – joshbillions