Комментарии 12
Полезный топик. Недавно пытался с моками разобраться, как раз на сети всё и закончилось. Жаль, проголосовать не могу.
Спасибо за топик. Буквально на днях по необходимости сделал механику для ожидания получения нотификаций (NSNotification). А следующим шагом стоял мок для работы с веб сервисом. Смотрел в сторону CocoaHTTPServer. Но он требует ARC. А у меня проект не ARC. После праздников поизучаю OHHTTPStubs.
Может быть стоит добавить в статью, что OHHTTPStubs — это реализация паттерна проектирования Service Stub. Ну так. Вдруг кто не знает.
И еще у меня вопрос по поводу асинхронных unit-тестов. Я вот недавно имел очень негативный опыт общения с NSRunLoop, когда пытался с помощью него реализовать асинхронные NSOperation. Самое интересное, что проблема проявлялась только на девайсе. Заключалась она в том, что action в блоке do цикла while срабатывал только когда я ставил туда breakpoint в XCode.
И еще у меня вопрос по поводу асинхронных unit-тестов. Я вот недавно имел очень негативный опыт общения с NSRunLoop, когда пытался с помощью него реализовать асинхронные NSOperation. Самое интересное, что проблема проявлялась только на девайсе. Заключалась она в том, что action в блоке do цикла while срабатывал только когда я ставил туда breakpoint в XCode.
С NSRunLoop все, вероятнее всего в полном порядке. Вы, вероятно пытались в NSOperation работать с async-версией NSURLConnection?
да, это известный баг в iOS < 6. NSRunLoop тут не при чем, какой-то баг ни то в GCD, ни то в NSURLConnection
На симуляторе его нет потому как используются десктопные библиотеки, а на маке такого бага нету.
На симуляторе его нет потому как используются десктопные библиотеки, а на маке такого бага нету.
По поводу блоков (не рекламы ради, хотя можно ли рекламировать топики на хабре? о_О =)) предлагаю ознакомиться с моей статьёй про реализацию Block-based Observer-а с жёсткой типизацией на Objective-C++, который призван облегчить уведомление нескольких слушателей о событиях с использованием блоков и более «традиционным» методом подписки:)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Простой мокинг запросов к серверу + unit-тестирование блоковых коллбэков в Objective-C