Я ведущий разработчик проекта RestKit, и я бы рекомендовал вам , а не использовать UISpec для тестирования.Использование RestKit UISpec (точнее, урезанной, сильно настроенной версии) является артефактом с самого начала разработки - я использовал UISpec для функционального тестирования и не решался носить с собой так много библиотек.В наши дни UISpec по сути является заброшенным, и я перешел к использованию KIF из Square для моего пользовательского интерфейса / функционального тестирования.
Для модульного тестирования в новых проектах мне нравится Kiwi (https://github.com/allending/Kiwi) в том виде, в котором он находится наверхняя часть встроенного SenTestingKit и предоставляет тесты в стиле RSpec. Cedar (https://github.com/pivotal/cedar) от Pivotal Labs и GHUnit (http://gabriel.github.com/gh-unit/) также являются твердыми.) Сам RestKit, вероятно, будет переходить из UISpec в некоторый момент вближайшее будущее.
Теперь по вопросу о том, как настроить базу данных для ваших тестов. Если вы посмотрите в файлах RKSpecEnvironment.h / m в RestKit, есть множество полезных методов для модульного тестирования.что вы используете интеграцию базовых данных RestKit, метод RKSpecNewManagedObjectStore () разрушит среду базовых данных и предоставит вам резервную копию чистой базы данных, удалив постоянное хранилище.
Собственные модульные тесты RestKit могут обеспечить некоторые хорошиесправка (за исключением вопросов, связанных с использованием тестовых систем выше) о том, как объединяться с API dата.Класс RKSpecResponseLoader полезен для преобразования асинхронных REST-запросов в процедурные шаги (он служит делегатом для RKObjectLoader и будет вращать цикл выполнения для ожидания загрузки запроса), с которым вы можете проверить.Таким образом, общая схема заключается в очистке состояния базы данных, настройке любых нужных / ожидаемых объектов, затем выполнении взаимодействия API и утверждении результатов или нового состояния в Core Data.