Может кто-нибудь, пожалуйста, дайте мне знать, как протестировать веб-службы RESTful с помощью PHPUnit? У PHPUnit нет такой возможности.
Представление запроса в объект запроса . Таким образом, вы можете протестировать свой код, не выполняя настоящие запросы. Тестирование легко.
class RequestTest extends PHPUnit_Framework_TestCase { public function testRequest() { $request = new Request(); $request->setMethod('PUT'); $request->setPutData(…); $this->assertSomething( $this->testSubjectUsingRequest->process($request) ); } }
В случае, если вы хотите протестировать ответы из Webservice, mock / заглушите API веб-службы.
В главе PHPUnit о Stubbing и Mocking Web Services есть глава, хотя предлагаемые встроенные средства для веб-серфинга для веб-сервисов применяются к Soap Services с WSDL, поэтому вам придется настраивать свои Mocks вручную (так же, как и с любым издеваемым ресурсом ).
Если это не ответит на ваш вопрос, уточните свой вопрос с более подробной информацией о службе RESTful, что вы пытаетесь сделать / протестировать с ним.
OnionTest http://www.oniontest.org/ У меня была такая же проблема. Selenium, PHPUNIT отлично, но его задача – быстро и легко протестировать службы отдыха / http. Я потратил большую часть своего времени, очистил базы данных, подделал http-post с помощью браузеров / скриптов, проверил результаты в db, список продолжает 🙂 Итак, я написал OnionTest
Все сводится к нескольким текстовым файлам, у вас есть urls.txt, который вызывается и сравнивается с вашим onions.txt (вашими тестовыми утверждениями), которые вы написали. Написать лук 🙂
Это дает мне следующее
O, и это БЕСПЛАТНО, и это в BETA, и это был проект на выходные, который все еще продолжается, но очень полезен! См. Руководство по началу работы для быстрого Hello World. Другие мудрые см. «Примеры страниц» для быстрого «TableRowCount» и «TableRowRecord» OnionTest
Бесстыдное самосовершенствование! Написать лук 🙂