2014-12-22 2 views
0

Итак, я пишу тесты для этой операции, где я что-то делаю, и если это не удается, мы лениво попытаемся выполнить эту операцию снова, используя performSelector:withObject:afterDelay:, теперь я бы хотел подождать runloop в тестах, чтобы запустить этот PerformSelector, прежде чем срывать тесты. Это, по существу, сводится к тому, чтобы держать runloop в течение некоторого времени.У меня есть тесты, ожидающие выполнения функцииSelector для запуска

Я нашел

[[NSRunLoop currentRunLoop] runUntilDate: [NSDate dateWithTimeIntervalSinceNow: дельта]];

быть полезным, и он отлично работает.

Есть ли лучший способ сделать это?

+1

XCTest теперь поддерживает асинхронное тестирование. Взгляните на документы. – Abizern

ответ

0

Хорошо, я пропустил это, но как Abizern прокомментировал, Xcode6 представляет асинхронное тестирование. Вот правильный способ сделать this. Прокрутите страницу до раздела асинхронного тестирования, и этого достаточно.

Смежные вопросы