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

Метод assertHeader

Метод assertHeader применяется к экземпляру TestResponse в тестах Laravel для проверки, что ответ содержит указанный заголовок с заданным значением. Первым параметром передаётся имя заголовка, вторым - ожидаемое значение. Если значение не передано, проверяется только наличие заголовка.

Синтаксис

<?php $response->assertHeader($headerName, $value); ?>

Пример

Давайте проверим, что ответ содержит заголовок 'Content-Type' со значением 'application/json':

<?php namespace Tests\Feature; use Tests\TestCase; class ExampleTest extends TestCase { public function test_response_has_json_header() { $response = $this->json('GET', '/api/users'); $response->assertHeader('Content-Type', 'application/json'); } } ?>

Пример

Проверим наличие заголовка без указания значения. Это полезно, когда точное значение неизвестно или динамическое:

<?php namespace Tests\Feature; use Tests\TestCase; class ControllerTest extends TestCase { public function test_response_has_cache_control_header() { $response = $this->get('/page'); $response->assertHeader('Cache-Control'); } } ?>

Пример

Проверим заголовок, который содержит несколько значений, например 'Content-Type' с кодировкой:

<?php namespace Tests\Feature; use Tests\TestCase; class FileTest extends TestCase { public function test_response_has_csv_content_type() { $response = $this->get('/export/csv'); $response->assertHeader( 'Content-Type', 'text/csv; charset=UTF-8' ); } } ?>

Пример

Проверим, что ответ не содержит определённый заголовок с помощью метода assertHeaderMissing. Этот метод удобен для проверки, что заголовок отсутствует в ответе:

<?php namespace Tests\Feature; use Tests\TestCase; class AuthTest extends TestCase { public function test_response_does_not_have_auth_header() { $response = $this->get('/public-page'); $response->assertHeaderMissing('Authorization'); } } ?>

Пример

Использование метода assertHeader в цепочке с другими проверками ответа:

<?php namespace Tests\Feature; use Tests\TestCase; class ApiTest extends TestCase { public function test_api_response_is_valid() { $response = $this->getJson('/api/posts'); $response ->assertStatus(200) ->assertHeader('Content-Type', 'application/json') ->assertJsonCount(10) ->assertJsonStructure([ 'data' => [ '*' => ['id', 'title', 'content'] ] ]); } } ?>

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

  • метод assertStatus,
    который проверяет код состояния HTTP-ответа
  • метод assertCookie,
    который проверяет наличие и значение cookie
  • метод withHeaders,
    который устанавливает заголовки для запроса
  • метод assertJson,
    который проверяет JSON-структуру ответа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить