Как проверить отдых API с помощью Zend? - PullRequest
2 голосов
/ 08 декабря 2011

Я не знаю, как выполнить модульное тестирование моего контроллера покоя. Вот мой код:

public function testpostAction(){
    $this->dispatch('/chain');

    $this->request->setHeader('Content-Type', 'text/json')          
                  ->setMethod('POST')
                  ->setPost(array(
                      'chain_name' => 'mychaintest'
                  ));   

    $this->assertAction('post'); ???

}

Как мне сделать сообщение?

Ответы [ 2 ]

0 голосов
/ 27 августа 2013

Итак, в основном ваш вопрос заключается в том, как эмулировать вызовы PUT и DELETE в тестах вашего контроллера?Поскольку это, очевидно, не работает:

$this->request->setMethod('PUT');

Вы можете получить доступ к обоим этим действиям с помощью простого HTTP POST, указав параметр _method.

Итак, чтобы вызвать PUT:

$this->request->setMethod('POST');
$this->dispatch('articles/123?_method=put');

Для вызова DELETE:

$this->request->setMethod('POST');
$this->dispatch('articles/123?_method=delete');

Подробнее о том, как работать с RESTful-маршрутизацией, читайте здесь - http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.routes.rest

0 голосов
/ 08 декабря 2011

Не уверен, что это именно то, что вам нужно, но, если вы хотите сделать POST-вызов (http) для проверки службы REST, вы можете использовать Zend_Http_Client:

http://framework.zend.com/manual/en/zend.http.client.html

В любом случае, если это для модульного тестирования, это будет более сложным, так как вам нужно, чтобы ваше приложение (текущая сборка была тестируемым) было доступно и доступно на сервере.Это зависит от того, как вы настроили свою среду сборки.

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

Надеюсь, это помогло.Ура!

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