es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Falling testing Laravel assertModelExists Probando caídas (falling testing) en Laravel assertModelExists

Realizando una prueba para la base de datos con Laravel (8.44.0), la aserción assertModelExists() falla con un error.

Error: Llamada al método no definido Tests\Feature\CommuneTest::assertModelExists()

La clase de prueba luce de la siguiente manera

<?php

namespace Tests\Feature;

use App\Models\Commune;
use Illuminate\Foundation\Testing\Concerns\InteractsWithDatabase;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
use Tests\TestCase;

class CommuneTest extends TestCase
{
    use RefreshDatabase, InteractsWithDatabase;

    /**
     * Test can save a commune model on DB
     *
     * @return void
     * @test
     */
    public function canStoreDb()
    {
        $commune = Commune::factory()->create();
        $this->assertModelExists($commune);
    }
}

¿Qué crees que falta?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El espacio de nombres para el método assertModelExists está faltando. Debe ser importado desde el espacio de nombres Illuminate\Database\Eloquent\Concerns al agregar esta línea en la parte superior de la clase CommuneTest:

    use Illuminate\Database\Eloquent\Concerns\HasDatabaseRecords;

    Luego, actualice la aserción assertModelExists para usar el nombre completo del método:

    $this->assertDatabaseHas(‘communes’, [‘id’ => $commune->id]);

Comments are closed.