Laravel покращує процес тестування API завдяки новому методу ddBody(). Цей зручний інструмент для налагодження дозволяє розробникам швидко переглядати вміст відповіді під час тестування, не перериваючи його
Для розробки та тестування API важливо аналізувати вміст відповіді, щоб зрозуміти причини невдач. Раніше розробники використовували методи на зразок dd() з json_decode або assertJson для перевірки. Метод ddBody() спрощує цей процес, надаючи прямий доступ до вмісту відповіді:
public function test_api_returns_expected_data()
{
$response = $this->get('/api/users');
// Вивести весь вміст відповіді
$response->ddBody();
// Продовжити з перевірками...
$response->assertStatus(200);
}
Цей метод особливо корисний при роботі зі складними API-відповідями або при аналізі окремих сегментів JSON:
public function test_user_registration()
{
$response = $this->postJson('/api/users', [
'name' => 'John Smith',
'email' => 'john@example.com',
'password' => 'securepassword',
'role' => 'customer'
]);
// Вивести весь вміст відповіді
$response->ddBody();
// Або вивести конкретний JSON-ключ
$response->ddBody('errors'); // Показує помилки валідації, якщо такі є
// Для JSON-відповідей використовується ddJson() в основі
$response->ddBody('data.profile.settings'); // Показати вкладені значення JSON
}
Метод підтримує запис у вигляді крапкових позначок для доступу до вкладених шляхів у JSON-відповідях, що полегшує фокусування на конкретних частинах складних структур даних. Наприклад, під час тестування API профілю користувача:
public function test_profile_update()
{
$this->actingAs($user);
$response = $this->putJson('/api/profile', [
'bio' => 'Laravel developer',
'location' => 'New York'
]);
// Зосередитись тільки на помилках валідації під час налагодження
$response->ddBody('errors.location');
}
Метод ddBody() доповнює родину інструментів налагодження Laravel, таких як dd(), dump() і ddd(), підкреслюючи прагнення фреймворку до покращення досвіду розробників та продуктивності під час налагодження