Я использую магическую запись в приложении. инициализируюОсновные данные в XCTests
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[MagicalRecord setupAutoMigratingCoreDataStack];
}
и приложения обычно делают некоторые вещи в то время как интернет-соединение присутствует. Я попытался написать XCTest, но я всегда получаю SIGABRT:
+ (NSManagedObjectContext *) MR_defaultContext
{
@synchronized(self) {
NSAssert(MagicalRecordDefaultContext != nil, @"Default context is nil! Did you forget to initialize the Core Data Stack?");
return MagicalRecordDefaultContext;
}
}
У меня есть исследовать его и мог видеть, что магические записи успешно инициализирован в AppDelegate.
Я даже попытался
- (void)setUp {
[super setUp];
[MagicalRecord setDefaultModelFromClass:[self class]];
[MagicalRecord setupCoreDataStackWithInMemoryStore];
}
- (void)tearDown {
[MagicalRecord cleanUp];
[super tearDown];
}
но не повезло. У кого-нибудь есть идеи?
Я использую cocoapods, и магическая запись включена в тестовую цель в podfile – dimak
Обновлен ответ –
Спасибо, но я видел это решение. Он будет работать для тестирования основных методов данных, но я хочу проверить другие функции приложения, не связанные с основными данными. И когда я тестирую их, Magical Record освобождает стек и превращает контекст по умолчанию в nil, а затем SIGABRT, когда другая часть приложения пытается вызвать его методы – dimak