Как я могу указать MagicalRecord не использовать базовые данные на основе файлов, а использовать настройку в памяти?

Я следил за этой замечательной статьей , чтобы узнать о модульном тестировании основных данных. Настройка кажется простой и включает в себя всего несколько строк кода.

- (void)setUp;
{
    [MagicalRecord setDefaultModelWithClass:[self class]];
    [MagicalRecord setupCoreDataStackWithInMemoryStore];
}

- (void)tearDown;
{
    [MagicalRecord cleanUp];
}

- (void)testSomeCalculationOnMyEntity;
{
    NSNumber *count = [MyEntity MR_numberOfEntities];
    // STAssert([testEntity customCalculation] == expectedValue, @"expected a good calculation");
}

@end

Проблема в том, что каждый раз, когда я, например, проверяю количество сущностей в памяти, настроенной для Core Data , вызывая[MyEntity MR_numberOfEntities](как и выше ), я получаю количество объектов, которые хранятся в файловой настройке , которая составляет пару тысяч объектов. Как это произошло? Я имею в виду, что вторая строка в setUpуказывает на то, что находится в памяти, не так ли? И этот случай должен возвращать 0 как количество сохраненных объектов.

Спасибо за любые предложения!

Изменить:

@casademora поставил меня на правильный путь. Следующая рабочая установка теперь отлично работает для меня.

- (void)setUp;
{
    [MagicalRecord cleanUp]; // This solved the mystery.

    // I don't now why I had to remove this line, though.
    // [MagicalRecord setDefaultModelWithClass:[self class]];

    [MagicalRecord setupCoreDataStackWithInMemoryStore];
}

- (void)tearDown;
{
    [MagicalRecord cleanUp];
}

- (void)testSomeCalculationOnMyEntity;
{
    NSNumber *count = [MyEntity MR_numberOfEntities];
    // STAssert([testEntity customCalculation] == expectedValue, @"expected a good calculation");
}

@end

9
задан Aufwind 2 August 2012 в 16:05
поделиться