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

Метод assertModelExists

Метод assertModelExists применяется в тестах Laravel для проверки, что определённая модель существует в базе данных. Он принимает экземпляр модели в качестве аргумента и выполняет проверку её существования по первичному ключу. Если модель не найдена, тест проваливается с соответствующим сообщением об ошибке.

Синтаксис

<?php $this->assertModelExists($model); ?>

Пример

Давайте проверим, что созданная статья существует в базе данных:

<?php namespace Tests\Feature; use Tests\TestCase; use App\Models\Article; use Illuminate\Foundation\Testing\RefreshDatabase; class ArticleTest extends TestCase { use RefreshDatabase; public function test_article_exists_in_database() { $article = Article::create([ 'string' => 'Test Article', 'text' => 'This is a test article content', 'integer' => 1, 'boolean' => true ]); $this->assertModelExists($article); } } ?>

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

"Test passed"

Пример

Давайте проверим, что модель существует после обновления данных:

<?php namespace Tests\Feature; use Tests\TestCase; use App\Models\Article; use Illuminate\Foundation\Testing\RefreshDatabase; class ArticleTest extends TestCase { use RefreshDatabase; public function test_article_exists_after_update() { $article = Article::create([ 'string' => 'Original Title', 'text' => 'Original content', 'integer' => 1, 'boolean' => false ]); $article->update([ 'string' => 'Updated Title', 'text' => 'Updated content' ]); $this->assertModelExists($article); } } ?>

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

"Test passed"

Пример

Давайте используем фабрику для создания модели и проверки её существования:

<?php namespace Tests\Feature; use Tests\TestCase; use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; class UserTest extends TestCase { use RefreshDatabase; public function test_user_exists_after_creation() { $user = User::factory()->create([ 'name' => 'John Doe', 'email' => 'john@example.com' ]); $this->assertModelExists($user); } } ?>

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

"Test passed"

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

  • метод assertModelMissing,
    который проверяет отсутствие модели в базе данных
  • метод assertDatabaseHas,
    который проверяет наличие записей по заданным критериям
  • метод assertDatabaseMissing,
    который проверяет отсутствие записей по заданным критериям
  • метод assertSoftDeleted,
    который проверяет наличие мягко удалённой записи
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить