¿Por qué NSURLConnection no funciona en casos de testing OCUnit para iOS?

He escrito un caso de testing de unidad OCUnit que se basa en un service web externo para completar. Sé que esto es controvertido en sí mismo, pero definitivamente quiero tener el service web incluido en las testings (se está ejecutando en un server interno de todos modos).

Al parecer, la NSURLConnection no puede iniciarse cuando se ejecuta como parte de SenTestCase. La línea no inicia la connection en absoluto:

NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self startImmediately:YES]; 

No se llama a ninguno de los methods delegates. Prácticamente el código idéntico se ejecuta normalmente fuera de OCUnit.

¿Qué ocurre con el entorno de time de ejecución de OCUnit que evita que se ejecute?

No es que la testing se complete antes de que la request regrese: tengo cerraduras NSCondition para manejar la naturaleza asíncrona de la request. También he intentado eliminar estos y simplemente girar en el bucle de ejecución. El caso de testing continúa ejecutándose, pero la NSURLConnection nunca comienza.

Prefiero no migrar mis testings a otro marco de testings de unidades si es posible.

Tengo exactamente el mismo problema y lo resuelvo con el uso

  [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:30]]; 

Yo uso NSCondition antes, pero creo que probablemente bloquee el hilo de NSUrlConnection.