Skip to main content

Command Palette

Search for a command to run...

Criando Testes Unitários em Laravel

Published
1 min read
F

Sou Full Stack e escritor amador entusiasmado por desenvolvimento de software. Compartilho meu entusiasmo pela tecnologia e complexidades do desenvolvimento através da escrita.

Introdução

O Laravel é um framework PHP que facilita o desenvolvimento de aplicações web robustas e escaláveis. Uma das práticas recomendadas no desenvolvimento com Laravel é a implementação de testes automatizados. Neste artigo, vamos explorar como criar um teste unitário básico usando PHPUnit em Laravel.

Criação da Classe Modelo

Primeiro, vamos criar uma classe de modelo simples que terá um método.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
    public function getFormattedTypeAttribute()
    {
        return ucfirst($this->type);
    }
}

Implementação dos Testes com PHPUnit

Agora que temos nossa classe de modelo, vamos criar um teste unitário para validar o método getFormattedTypeAttribute.

Criaremos um arquivo de teste dentro da pasta tests/Unit.

<?php

namespace Tests\Unit;

use PHPUnit\Framework\TestCase;
use App\Models\Product;

class ProductTest extends TestCase
{
    public function test_formatted_type()
    {
        $product = new Product();

        $product->type = 'computador';

        $this->assertEquals('Computador', $product->formatted_type);
    }
}

Executando os Testes

Para rodar os testes, basta utilizar o seguinte comando:

php artisan test

Conclusão

Criar testes unitários em Laravel é uma prática essencial para garantir que sua aplicação funcione como esperado. Neste exemplo, vimos como configurar um teste simples para um método. À medida que sua aplicação cresce, você pode expandir seus testes para cobrir mais casos de uso e garantir a estabilidade do código.

More from this blog

Dicas de Laravel - fsales

28 posts

Sou Full Stack e escritor amador, apaixonado por software. Compartilho no blog os processos e desafios que enfrentei, com o objetivo de dividir meu entusiasmo e aprendizado com você!