dispatch_sync na fila principal trava no teste de unidade

Eu estava tendo alguns problemas de unidade testando algum código de despacho central grande com a estrutura de teste de unidade do Xcode, SenTestingKit. Eu consegui ferver meu problema feito para isso. Eu tenho um teste de unidade que cria um bloco e tenta executá-lo no thread principal. No entanto, o bloco nunca é realmente executado; portanto, o teste trava porque é um despacho síncron

- (void)testSample {

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

    STFail(@"FAIL!");
}

O que é o ambiente de teste que causa isso travar?

questionAnswers(5)

yourAnswerToTheQuestion