Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

657
Visualizações
No se puede ubicar la fábrica para [Aplicación\Modelos\Usuario] al ejecutar la prueba en laravel

Estoy tratando de probar mi aplicación usando pruebas en laravel. Pero tengo un error, cada vez que ejecuto la prueba usando la prueba artesanal de php, siempre dice Unable to locate factory for [App\Models\User] . No puedo entender por qué sucede esto.

aquí está mi código de prueba:

 <?php namespace Tests\Feature; use Tests\TestCase; use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; class Fish extends TestCase { /** @test */ public function test_authenticated_users_can_access_home() { $user = factory(User::class)->create(); $this->actingAs($user); $response = $this->get('/home')->assertOk(); } }

y este es mi modelo:

 <?php namespace App\Models; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; class User extends Authenticatable { use HasFactory, Notifiable; ...

fábrica de usuarios

 <?php namespace Database\Factories; use App\Models\User; use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Support\Str; class UserFactory extends Factory { /** * The name of the factory's corresponding model. * * @var string */ protected $model = User::class; /** * Define the model's default state. * * @return array */ public function definition() { return [ 'name' => $this->faker->name(), 'email' => $this->faker->unique()->safeEmail(), 'email_verified_at' => now(), 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password 'remember_token' => Str::random(10), ]; } ... }

cualquier ayuda sería muy apreciada, gracias lo siento por mi mal inglés

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

De su clase UserFactory, asumo que está usando Laravel 8.

La nueva forma de llamar a las fábricas en Laravel 8 es

 $user = User::factory()->create();

en lugar de la vieja manera

 $user = factory(User::class)->create();

Creo que mezclaste la sintaxis de Laravel 8 y 7 en tu ProjectFactory. Recomendaría eliminar su ProjectFactory y volver a crearlo en Laravel 8 con el comando artesanal de PHP: php artisan make:factory ProjectFactory . Entonces llamarías a la fábrica así:

 $project = Project::factory()->create();

Asegúrese de que su modelo de Proyecto use hasFactory; rasgo para que esto funcione.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda