Подтвердить что ты не робот

Тестирование веб-служб RESTful с использованием PHPUnit

Может кто-нибудь, пожалуйста, дайте мне знать, как протестировать веб-службы RESTful с помощью PHPUnit? У PHPUnit нет такой возможности.

4b9b3361

Ответ 1

Провести запрос в Объект запроса. Таким образом, вы можете протестировать свой код, не выполняя настоящие запросы. Тестирование легко.

class RequestTest extends PHPUnit_Framework_TestCase
{
    public function testRequest()
    {
        $request = new Request();
        $request->setMethod('PUT');
        $request->setPutData(…);
        $this->assertSomething(
            $this->testSubjectUsingRequest->process($request)
        );
    }
}

В случае, если вы хотите протестировать ответы из веб-службы, извините/закройте API веб-службы.

В главе PHPUnit есть глава о Stubbing and Mocking Web Services, хотя предлагаемые встроенные средства для веб-серфинга применяются к Soap Services с WSDL, поэтому вам придется настраивать свои Mocks вручную (так же, как и с любым издеваемым ресурсом).

Если это не ответит на ваш вопрос, уточните свой вопрос с более подробной информацией о службе RESTful, что вы пытаетесь сделать/протестируете с ней.

Ответ 2

OnionTest http://www.oniontest.org/ У меня была точно такая же проблема. Selenium, PHPUNIT отлично, но его задача - быстро и легко протестировать службы отдыха /http. Я потратил большую часть своего времени, очистил базы данных, подделал http-post с помощью браузеров/скриптов, проверил результаты в db, список продолжает:) Итак, я написал OnionTest

Все сводится к нескольким текстовым файлам, у вас есть urls.txt, который вызывается и сравнивается с вашим onions.txt(вашими тестовыми утверждениями), которые вы написали. Напишите лук:)

Он дает мне следующее

  • EASY/FAST способ сделать URL-адреса GET/POST с параметрами
  • Проверить ответ (код, тело) с точки зрения текста и текста, которые он не должен иметь.
  • Выполнить выражение xpath (xml) в ответе, а также результаты count xpath
  • Многоязычные звонки! (звучит просто), но DAMN полезно! Первое, что вы делаете после получения странных результатов. Сбросьте URL-адрес/звонок. OnionTest вы просто установили "verbose || 1" для URL-адреса

O, и это БЕСПЛАТНО, и его в BETA, и это был проект на выходные, все еще переходящий, но очень удобный! См. Руководство по началу работы для быстрого Hello World. Другие мудрые см. "Примеры страниц" для быстрого "TableRowCount" и "TableRowRecord" OnionTest

Бесстыдная самопомощь! Написать лук:)