Test Laravel - Como fazer o teste de login com PHPUnit

Hoje, vou te mostrar como fazer o teste de login com PHPUnit no Laravel. Este artigo vai cobrir apenas a parte de teste de login.

Assumo que você já tenha migrado o banco de dados padrão do Laravel e criado o modelo respectivo para isso.

Criar Fábrica de Usuários Primeiro, vamos criar uma fábrica de usuários para o login. Você precisa executar o seguinte comando para criar a fábrica de usuários.

php artisan make:factory UserFactory

Ele criará um arquivo chamado UserFactory na pasta database \> factories. Agora vamos atualizar o arquivo da fábrica assim:

<?php

use Faker\Generator as Faker;

$factory->define(App\User::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->email,
        'password' => bcrypt('password')
    ];
});

Agora, vamos criar um arquivo de teste de login. Para isso, execute o seguinte comando no terminal:

php artsian make:test LoginTest

Isso criará um arquivo chamado LoginTest na pasta tests/Feature. Agora, vamos criar um método lá.


public function test_a_visitor_can_able_to_login()
{
    $user = User::factory()->create();

    $response = $this->actingAs($user)->get('/home');

    $response->assertStatus(200);
}

O arquivo completo será assim:

<?php

namespace Tests\Feature;

use App\User;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;

class LoginTest extends TestCase
{
    use RefreshDatabase;

    public function test_a_visitor_can_able_to_login()
    {
        $user = User::factory()->create();

        $response = $this->actingAs($user)->get('/home');

        $response->assertStatus(200);
    }
}

Até agora, terminamos de escrever nosso teste. Agora, vamos executar os testes. No terminal, execute o seguinte comando:

php artisan test

Agora você deverá ser capaz de ver o resultado dos seus testes, seja passando ou falhando.

Obrigado.

Did you find this article valuable?

Support Fernando Sales by becoming a sponsor. Any amount is appreciated!