dispatch_sync на главной очереди зависает в модульном тесте

У меня возникли проблемы с модульным тестированием кода центрального диспетчера с помощью встроенного фреймворка модульного тестирования Xcode, SenTestingKit. Мне удалось свести мою проблему к следующему. У меня есть модульный тест, который создает блок и пытается выполнить его на главном потоке. Однако на самом деле блок никогда не выполняется, поэтому тест зависает, поскольку это синхронная диспетчеризация.

- (void)testSample {

    dispatch_sync(dispatch_get_main_queue(), ^(void) {
        NSLog(@"on main thread!");
    });

    STFail(@"FAIL!");
}

Что именно в среде тестирования вызывает зависание?

41
задан Drewsmits 19 October 2011 в 03:13
поделиться