Я в точке, где я должен записать модульные тесты на API REST записанный CakePHP 1.3 использования. Поддержки API ПОЛУЧАЮТ, POST и ПОМЕЩАЮТ запросы на то, чтобы запросить и управлять данными.
Там кто-либо - установленный способ протестировать корректный ввод/вывод API, моделирующего Запрос HTTP, с помощью приспособлений? Я не хочу выполнять фактические запросы POST/помещать против живой (dev) базы данных. Как я могу лучше всего дразнить систему для использования временных моделей, уже протестируйте остальную часть стека как есть?
Тестирование ДОБИРАЕТСЯ, запросы достаточно легко с тестами контроллера. Однако для манипулирования данными API использует HTTP-заголовки вполне экстенсивно и также анализирует необработанный XML и данные JSON POST/PUT. Методы тестирования блока контроллера только дразнят данные POST путем установки $this->data
в контроллере, который не позволяет мне правильно тестировать API.
Я бы рекомендовал начать с небольшого исследования. Эти статьи должны помочь:
Похоже, вы сможете без особых проблем протестировать необработанные данные XML PUT и POST. В документации CakePHP REST говорится следующее:
Если запрос POST или PUT имеет тип содержимого XML, то входные данные принимаются и передаются экземпляру объекта Xml Cake, который назначается переменной $ data свойство контроллера. Благодаря этой функции параллельная обработка данных XML и POST осуществляется без проблем: никаких изменений в коде контроллера или модели не требуется. Все, что вам нужно, должно оказаться в $ this-> data.
Попробуйте пошагово выполнить код вашего контроллера в режиме отладки, чтобы увидеть, что на самом деле поступает через $ this-> data
во время запроса XML.
Что касается отказа от «живой» базы данных, будет ли проще создать базу данных SQLite в памяти?