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

Метод post

Метод post применяется в тестовых классах Laravel для отправки POST-запроса к заданному маршруту. Первым параметром передаётся путь (URI), вторым - массив данных для отправки в теле запроса. Метод возвращает объект ответа, который можно проверять с помощью assert-методов.

Синтаксис

<?php $this->post($path, $data); ?>

Пример

Давайте отправим POST-запрос для создания новой статьи:

<?php use TestsTestCase; class ArticleControllerTest extends TestCase { public function test_article_store() { $res = $this->post('/articles', [ 'title' => 'article', 'content' => 'abcde', ]); $res->assertStatus(201); } } ?>

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

"Test passed"

Пример

Давайте проверим ответ от контроллера с помощью метода assertJson:

<?php use TestsTestCase; class ArticleControllerTest extends TestCase { public function test_article_json_response() { $res = $this->post('/articles', [ 'title' => 'article', 'content' => 'abcde', ]); $res->assertStatus(200) ->assertJson([ 'message' => 'article created', ]); } } ?>

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

"Test passed"

Пример

Давайте отправим POST-запрос с заголовками для аутентификации:

<?php use TestsTestCase; use AppModelsUser; class AuthControllerTest extends TestCase { public function test_authenticated_request() { $user = User::factory()->create(); $res = $this->actingAs($user) ->post('/profile', [ 'name' => 'article', 'email' => 'article@example.com', ]); $res->assertStatus(200); } } ?>

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

"Test passed"

Пример

Давайте протестируем валидацию данных с помощью метода assertSessionHasErrors:

<?php use TestsTestCase; class ArticleControllerTest extends TestCase { public function test_article_validation_fails() { $res = $this->post('/articles', [ 'title' => '', 'content' => 'abcde', ]); $res->assertSessionHasErrors(['title']); } } ?>

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

"Test passed"

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

  • метод get,
    который отправляет GET-запрос в тестах
  • метод put,
    который отправляет PUT-запрос в тестах
  • метод delete,
    который отправляет DELETE-запрос в тестах
  • метод actingAs,
    который устанавливает текущего пользователя
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить