Мне интересно, как протестировать синхронный запрос для подтверждения поведения клиента API в зависимости от ответа сервера.
Хорошей практикой является независимость от сервера (поэтому тест выполняется быстро и не зависит от интернет-соединения), поэтому я хотел бы вернуть свой ответ. Я не знаю, как это сделать, поскольку запрос является синхронным:
NSURL *url = [self URL];
NSData *postData = [self postData];
NSMutableURLRequest *downloadRequest = [NSMutableURLRequest requestWithURL:url];
[downloadRequest setHTTPMethod:@"POST"];
[downloadRequest setHTTPBody:postData];
[downloadRequest setTimeoutInterval:10.0];
return downloadRequest;
NSURLResponse *response;
NSError *error = nil;
NSData *urlData = [NSURLConnection sendSynchronousRequest:downloadRequest
returningResponse:&response
error:&error];
Есть ли у вас какие-либо предложения о том, как это сделать?
Я не знаю, возможно ли, например, переопределить NSURLConnection, или я должен изменить свой код, только для целей тестирования.