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?
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]);