В большинстве моих классов, которые работают с настройками по умолчанию, я устанавливаю объект по умолчанию:
@property(retain) NSUserDefaults *defaults;
Это должно облегчить тестирование:
// In a nearby test class:
- (void) setUp {
[super setUp];
NSUserDefaults *isolatedDefaults = [[NSUserDefaults alloc] init];
[someObjectBeingTested setDefaults:isolatedDefaults];
}
Но теперь я обнаружил, что когда я создаю новый объект по умолчанию, в нем уже есть некоторые значения. Это возможно? Я думал, что могу создать пустой изолированный объект по умолчанию, вызвав -init
. У меня есть ошибка где-то в тестовом коде, или мне действительно нужно сделать что-то более сложное (например, stubbing или mocking), если я хочу проверить свой код на основе по умолчанию?