テストクラス内でCoreDataにアクセスする

以下のようなコードを書けばいいできます。テスト用の基底クラスを用意して、そのsetUpでCoreData用のコードを書き、各テストクラスではそのサブクラスにすると便利です。

--- BaseTest.h ---

#import <SenTestingKit/SenTestingKit.h>

@interface BaseTest : SenTestCase {
    NSManagedObjectContext *_managedObjectContext;
}
@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;

--- BaseTest.m ---

#import "BaseTest.h"
#import "プロジェクト名AppDelegate.h"

@implementation BaseTest

@synthesize managedObjectContext = _managedObjectContext;

- (void)setUp {
    [super setUp];
    プロジェクト名AppDelegate *app = [[UIApplication sharedApplication] delegate];
    self.managedObjectContext = app.managedObjectContext;
}

なお、データの保存先がアプリ用と同一のため、きちんとtearDownで掃除した方がいいと思います。

この記事が役に立った場合、シェアしていただけると励みになります!!