Я хочу протестировать мой спокойный контроллер, потребляющий json-данные. Проблема в том, что я не могу правильно отправить данные.Интеграционный тест CakePHP3 и данные json
Это, как я пытаюсь отправить данные:
$this->configRequest([
'headers' => [
'Accept' => 'application/json',
'Content-Type' => 'application/json'
],
]);
$this->post('/api/users', "{'username':'Iason','password':'test'}");
debug($this->_response->body());
В моем контроллере, я проверяю данные:
if (empty($this->request->data)) {
throw new BadRequestException("No data");
}
проверка не удалась, и я вернусь ошибкой.
Если я тестирую свой API с помощью Postman, все работает нормально. Если я попытаюсь отправить данные в виде массива (это показано в руководстве http://book.cakephp.org/3.0/en/development/testing.html#controller-integration-testing), у меня также нет данных запроса в контроллере. Я понятия не имею, что я делаю неправильно.