В модульном тесте у меня есть ожидание уведомления, которое я предоставляю методу waitForExpectation: timeout:
. Последний не терпит неудачу, поэтому ожидание оправдывается. Но обработчик уведомления иногда не вызывается. Я знаю это, потому что NSLog в начале обработчика не печатается в этом случае.
XCTestExpectation *expectation = [self expectationForNotification:NotificationName
object:object
handler: ^BOOL(NSNotification *notification) {
NSLog(@"handler");
<...>
}];
[self waitForExpectations:@[expectation] timeout:timeout];
Как возможно, что ожидание выполнено, но его обработчик не был вызван?