dispatch_sync в основной очереди зависает в модульном тесте
У меня были некоторые проблемы с модульным тестированием какого-то грандиозного кода центральной диспетчеризации с помощью встроенной платформы модульного тестирования XCode, SenTestingKit. Мне удалось сварить мою проблему с этим. У меня есть модульный тест, который строит блок и пытается выполнить его в главном потоке. Однако блок фактически никогда не выполняется, поэтому тест зависает, потому что это синхронная отправка.
- (void)testSample {
dispatch_sync(dispatch_get_main_queue(), ^(void) {
NSLog(@"on main thread!");
});
STFail(@"FAIL!");
}
Что в среде тестирования вызывает зависание?