Подтвердить что ты не робот

Ошибка в тестировании блока ошибок Xcode 7

После обновления с 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 с теми же тестами устраняет проблему.

4b9b3361

Ответ 1

Закончено решение проблемы путем настройки моего подфайла:

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

Эта ситуация может возникнуть из-за наличия старой среды выполнения, указанной в примечаниях к выпуску:

Процессы Xcode могут неожиданно прекратиться, если устаревшее время работы симулятора iOS (Xcode 6.x) присутствуют на диске

Чтобы проверить, является ли это причиной, вы можете удалить все старые библиотеки времени выполнения из/Library/Developer/CoreSimulator/Profiles/Runtimes