Ожидание уведомления выполняется без вызова блока обработчика. - PullRequest
0 голосов
/ 04 марта 2020

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

XCTestExpectation *expectation = [self expectationForNotification:NotificationName
                                                           object:object
                                                          handler: ^BOOL(NSNotification *notification) {
    NSLog(@"handler");
    <...>
}];

[self waitForExpectations:@[expectation] timeout:timeout];

Как возможно, что ожидание выполнено, но его обработчик не был вызван?

...