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

Метод assertValid

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

Синтаксис

<?php $this->post($uri, $data)->assertValid($fields, $format); ?>

Пример

Базовое использование метода для проверки успешной валидации данных:

<?php namespace Tests\Feature; use Tests\TestCase; class UserTest extends TestCase { public function test_user_creation_validation_passes() { $data = [ 'name' => 'John Doe', 'email' => 'john@example.com', 'password' => 'secret123' ]; $res = $this->post('/api/users', $data); $res->assertValid(); } } ?>

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

"Validation passed successfully"

Пример

Проверка валидации с указанием конкретных полей и формата ошибок:

<?php namespace Tests\Feature; use Tests\TestCase; class PostTest extends TestCase { public function test_post_validation_with_specific_fields() { $data = [ 'title' => 'Test Post', 'content' => 'This is test content', 'category' => 'tech' ]; $res = $this->post('/api/posts', $data); $res->assertValid(['title', 'content']); } } ?>

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

"Validation passed for specified fields"

Пример

Использование метода в комплексном тесте с множественными проверками:

<?php namespace Tests\Feature; use Tests\TestCase; use App\Models\Product; class ProductTest extends TestCase { public function test_product_update_with_validation() { $product = Product::factory()->create(); $data = [ 'name' => 'Updated Product', 'price' => 99.99, 'stock' => 10 ]; $res = $this->put("/api/products/{$product->id}", $data); $res->assertValid(); $res->assertStatus(200); $res->assertJson(['success' => true]); } } ?>

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

["All validation and status checks passed"]

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

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