Создать контрольный пример для curl httprequest

PHPUnit имеет методы виртуально протестировать базы данных, но как я могу протестировать HTTP-сервис, такой как curl?

Мой метод класса получает URL и запрашивает параметры для отправки на сервер. Он получает ответ как json и отправляет этот json другому методу для анализа и возврата.

Я хочу создать контрольный пример PHPUnit для этого метода класса. Должен ли я предоставить реальный URL для моего сервера? Должен ли сервер возвращать успешное сообщение / сообщение об ошибке в этот контрольный пример?

0

Решение

Вместо того, чтобы иметь curl связь внутри некоторых методов вашего класса, оберните curl Позвоните в его собственный класс, высмеивайте его и передайте его вашему классу.

Таким образом, вы можете проверить счастливый путь, если макет возвращает реальное json, а также имитировать ошибки скручивания (заставить макет вести себя как настоящий curl библиотека).

То же самое относится и к части синтаксического анализа. Если вы переместите код синтаксического анализа в его собственный класс и вставите его в «основной» класс, то вы сможете смоделировать его и смоделировать ошибки синтаксического анализа.

Для модульного тестирования вы никогда не должны делать реальные сетевые вызовы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]