Я создаю unit test и хочу протестировать структуру JSON
, возвращенную в ответе. Я знаю, что TestResponse
предоставляет метод assertJsonStructure
для соответствия структуре вашего ответа JSON
. Но по какой-то причине я не могу сопоставить $structure
с моим ответом, и в результате тест завершился неудачно. Позвольте мне поделиться необходимыми фрагментами.
Ответ на конечную точку
{
"status": true,
"message": "",
"data": [
{
"id": 2,
"name": "Shanelle Goodwin",
"email": "[email protected]",
"created_at": "2017-03-05 16:12:49",
"updated_at": "2017-03-05 16:12:49",
"user_id": 1
}
]
}
Функция тестирования
public function testEndpoint(){
$response = $this->get('/api/manufacturer/read', [], $this->headers);
$response->assertStatus(200);
$response->assertJsonStructure([
'status',
'message',
'data' => [
{
'id',
'name',
'email',
'created_at',
'updated_at',
'user_id'
}
]
]);
var_dump("'/api/manufacturer/read' => Test Endpoint");
}
В массиве data
может быть несколько узлов, поэтому я попытался упомянуть массив в структуре, но кажется, что он неверно отображен. Любая помощь будет оценена: -)