Единственная причина, по которой я могу подумать, это сделать, если вы хотите выполнить функциональную проверку фактического асинхронного соединения. Это будет довольно хрупким и замедлит ваш тестовый пакет.
Лучшим подходом является написание модульных тестов ваших реализаций методов делегата NSURLConnection , например connection: didFinishLoading: (для случаев успеха) и connection: didFailWithError: (для случаев ошибки)
Обычно я устанавливаю примерные значения ответов и проверяю, что мой делегат обрабатывает их правильно. Например:
NSString *responseJSON = @"{\"remove\": [123,432], \"new\": [1,2]}";
NSData *responseBytes = [responseJSON dataUsingEncoding:NSUTF8StringEncoding];
// in requestHandler, data would have been set by calls to connection:didReceiveData:
[requestHandler setData:responseBytes];
[requestHandler connectionDidFinishLoading:nil];
// set expectations here for what you'll do with the response
...