Тестирование веб-сервисов RESTful с использованием PHPUnit - PullRequest
14 голосов
/ 16 апреля 2011

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

1 Ответ

11 голосов
/ 16 апреля 2011

Абстрагируйте запрос в объект запроса . Таким образом, вы можете протестировать свой код без необходимости делать реальные запросы. Тестирование это легко.

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 есть глава о Создание заглушек и Mocking Web Services , хотя предлагаемые встроенные средства Mock для веб-служб применимы к Soap Services с WSDL, поэтому вам придется настраивать Mocks вручную. (так же, как и с любым другим объектом).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...