XCTests中的核心数据
问题描述:
我在应用程序中使用Magical Record。 我初始化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
已更新我的回答 –
谢谢,但我见过这个解决方案。它将用于测试核心数据方法本身,但我想测试另一个与核心数据无关的应用程序函数。当我测试它们时,魔法记录会将它堆叠起来,并将默认上下文转换为零,然后在应用程序的其他部分尝试调用其方法时,SIGABRT – dimak