Как к модульному тесту Ваш API?

Я в точке, где я должен записать модульные тесты на API REST записанный CakePHP 1.3 использования. Поддержки API ПОЛУЧАЮТ, POST и ПОМЕЩАЮТ запросы на то, чтобы запросить и управлять данными.

Там кто-либо - установленный способ протестировать корректный ввод/вывод API, моделирующего Запрос HTTP, с помощью приспособлений? Я не хочу выполнять фактические запросы POST/помещать против живой (dev) базы данных. Как я могу лучше всего дразнить систему для использования временных моделей, уже протестируйте остальную часть стека как есть?


Тестирование ДОБИРАЕТСЯ, запросы достаточно легко с тестами контроллера. Однако для манипулирования данными API использует HTTP-заголовки вполне экстенсивно и также анализирует необработанный XML и данные JSON POST/PUT. Методы тестирования блока контроллера только дразнят данные POST путем установки $this->data в контроллере, который не позволяет мне правильно тестировать API.

46
задан deceze 28 June 2010 в 03:58
поделиться

2 ответа

5
ответ дан 26 November 2019 в 20:43
поделиться

Похоже, вы сможете без особых проблем протестировать необработанные данные XML PUT и POST. В документации CakePHP REST говорится следующее:

Если запрос POST или PUT имеет тип содержимого XML, то входные данные принимаются и передаются экземпляру объекта Xml Cake, который назначается переменной $ data свойство контроллера. Благодаря этой функции параллельная обработка данных XML и POST осуществляется без проблем: никаких изменений в коде контроллера или модели не требуется. Все, что вам нужно, должно оказаться в $ this-> data.

Попробуйте пошагово выполнить код вашего контроллера в режиме отладки, чтобы увидеть, что на самом деле поступает через $ this-> data во время запроса XML.

Что касается отказа от «живой» базы данных, будет ли проще создать базу данных SQLite в памяти?

3
ответ дан 26 November 2019 в 20:43
поделиться
Другие вопросы по тегам:

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