РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1211 of 1392 menu

Метод assertJsonPath

Метод assertJsonPath применяется к объекту ответа в тестах Laravel и проверяет, что значение по указанному пути в JSON-ответе соответствует заданному значению. Первый параметр метода - путь к значению в формате с использованием точек, второй - ожидаемое значение. Если значение не совпадает, тест будет провален с сообщением об ошибке.

Синтаксис

<?php $response->assertJsonPath($path, $value); ?>

Пример

Давайте проверим, что в JSON-ответе по пути 'data.user.id' содержится значение 1:

<?php namespace Tests\Feature; use Tests\TestCase; class UserTest extends TestCase { public function test_user_id_is_correct() { $res = $this->getJson('/api/user/1'); $res->assertJsonPath('data.user.id', 1); } } ?>

Результат выполнения кода:

"Test passed successfully"

Пример

Давайте проверим, что в ответе по пути 'data.articles.0.title' содержится строка 'article':

<?php namespace Tests\Feature; use Tests\TestCase; class ArticleTest extends TestCase { public function test_article_title_is_correct() { $res = $this->getJson('/api/articles'); $res->assertJsonPath('data.articles.0.title', 'article'); } } ?>

Результат выполнения кода:

"Test passed successfully"

Пример

Давайте проверим значение булевого поля в JSON-ответе:

<?php namespace Tests\Feature; use Tests\TestCase; class UserTest extends TestCase { public function test_user_status_is_active() { $res = $this->getJson('/api/user/1'); $res->assertJsonPath('data.user.active', true); } } ?>

Результат выполнения кода:

"Test passed successfully"

Смотрите также

  • метод assertJson,
    который проверяет наличие фрагмента в JSON-ответе
  • метод assertJsonCount,
    который проверяет количество элементов в массиве JSON
  • метод assertJsonStructure,
    который проверяет структуру JSON-ответа
  • метод getJson,
    который выполняет GET-запрос к API и возвращает ответ
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить