Искусство для Objective-C?

Существует ли версия Artifice для Objective-C?

Если нет, то как мне спроектировать/разработать/создать его?

Похожие вопросы


person ma11hew28    schedule 16.03.2011    source источник


Ответы (1)


Думаю, я мог бы помочь вам здесь.

У меня есть библиотека Ruby, которая чем-то похожа на artifice, хотя и более автономна и построена поверх Sinatra, и называется Mimic< /а>. Я очень доволен этим, и одна из моих любимых функций заключается в том, что его можно настроить не только с помощью Ruby DSL (или напрямую с помощью API Sinatra), но и удаленно или из любого процесса, который говорит по HTTP. Это означает, что вы можете использовать его в своих тестах Objective-C и также настраивать его из тестов (вместо, скажем, набора внешних фикстур в файле Ruby).

Во имя того, чтобы съесть свою собачью еду, я недавно преобразовал приемочные тесты для моего порта Objective C RestClient, Resty использовать мимик. Демон Mimic запускается как часть процесса сборки, и мои заглушки настраиваются непосредственно в тестах с использованием тонкой оболочки Objective-C для Mimic REST API.

Как видите, я очень стараюсь ясность!

Эти тесты используют OCUnit, но вы можете использовать его с Kiwi. По сути, макрос assertEventually в приведенных выше тестах был основой поддержки асинхронного тестирования, которую я портировал на Kiwi.

С тех пор я извлек оболочку Objective-C для Mimic из LRResty и переместил ее в репозиторий Mimic. Вы можете проверить проект Resty, чтобы увидеть, как настроен мой проект и тесты. Если у вас есть какие либо вопросы, пожалуйста спрашивайте.

Одно предостережение: я не нашел способа заставить эти тесты успешно выполняться в Xcode 4 с помощью параметра «Тест» из-за способа его выполнения. В Xcode 3 я полагаюсь на фазы сборки Run Script для запуска и остановки демона Mimic, но поскольку Xcode 4 не запускает тесты как часть процесса сборки, это не работает. Я пытался сделать что-то подобное, используя действия до/после тестирования, но, к сожалению, они совершенно неадекватны из-за различных ошибки.

Дополнительный совет: я нахожу Charles Debugging Proxy очень полезным при работе с веб-сервисами, и вы также можете использовать его с Mimic. ; оболочка Objective-C может быть проксирована через Charles, чтобы вы могли точно видеть, что происходит, как с точки зрения конфигурации заглушки, так и с точки зрения фактических HTTP-запросов (Mimic даже можно настроить для возврата некоторых полезных данных отладки в заголовках ответов).

Дайте мне знать, если у вас есть какие-либо вопросы.

person Luke Redpath    schedule 03.06.2011