Я пишу блок-тест для одного из моих методов утилиты. Этот метод утилиты внутренне извлекает некоторые значения на основе набора свойств на одноэлементном объекте. В моем тестовом модуле, прежде чем я называю этот метод полезности, я устанавливаю значение объекта сеанса и печать, чтобы подтвердить, что он получает набор:Singleton не работает с XCTests - iOS
- (void)testMyMethod {
[MySession sharedSession].isTesting = true;
NSLog(@"isTesting = %d", [MySession sharedSession].isTesting); // prints 1
[myClassObj myMethod];
}
Но внутри моего myMethod
, isTesting
никогда не проходит true
проверку:
- (void)myMethod {
if ([MySession sharedSession].isTesting == true) { // this condition is always failing
... do something ...
}
}
Я также напечатал одноэлементный объект как в тесте, так и в фактическом методе и подтвердил, что оба относятся к тому же месту в памяти.
У любого есть ключ к пониманию, почему это происходит так. Любое направление/указатель/руководство высоко оценено!
Это замечательно! Как вы импортировали проект? Я сделал это, выбрав Build Phases - Compile Sources и добавив продукт туда. –