Как сделать проверить запрос GET API REST с PHPUnit 4.1? Я использую Slim PHP-Framework и могу проверить код ответа , но не тело или заголовок. Это то, что я до сих пор:Тестировать запрос REST get
TestClass:
class AssetTest extends PHPUnit_Framework_TestCase
{
public function request($method, $path, $options = array())
{
// Capture STDOUT
ob_start();
// Prepare a mock environment
Environment::mock(array_merge(array(
'REQUEST_METHOD' => $method,
'PATH_INFO' => $path,
'SERVER_NAME' => 'slim-test.dev',
), $options));
$app = new \Slim\Slim();
$this->app = $app;
$this->request = $app->request();
$this->response = $app->response();
// Return STDOUT
return ob_get_clean();
}
public function get($path, $options = array()){
$this->request('GET', $path, $options);
}
public function testGetAssets(){
$this->get('/asset');
$this->assertEquals('200', $this->response->status());
}
}
Если мой JSON ответ http://example.com/asset выглядит следующим образом (код 200):
[
{
"AssetID": "4b0be88b9e853",
"AssetStatusID": "1"
}
]
Вы уверены, что вы делаете Модульное тестирование? Речь идет о тестирующих устройствах, а не о функциональности. В этом случае вы можете протестировать свою функцию действия («$ actionMethod» в вашем '$ app-> get ('\ some \ url', $ actionMethod). Функциональное тестирование API REST можно и нужно делать вручную , так как нет очень хороших автоматических инструментов, но вы можете попробовать что-то вроде SoapUI. –
Итак, вы имеете в виду тестирование функции модели, которая, например, делает запрос на базу данных? – toefftoefftoeff
yep, это было бы неплохо. Если у вас есть некоторое промежуточное ПО , вы можете проверить это тоже. –