PHP Unit test result

Como usar o PHPUnit

Sempre fui fascinado pelas palestras de TDD, porém nunca consegui aplicar eles no meu dia a dia, principalmente por trabalhar em projetos pequenos que não “tinham verba” para esse tipo de refinamento.

Estou criando um painel de controle para uma aplicação minha e com isso estou aproveitando para estudar sobre o tema.

Criei nesta aplicação um teste simples para verificar se a aplicação consegue disparar um e-mail.

Instalação PHPUnit

A recomendação é que ele roda a nível de aplicação e não globalmente, assim a instalação é bem simples, via composer:

composer require --dev phpunit/phpunit ^9.2

ou se você como eu usar um composer.json:

{
  "name": "projeto/nome",
  "description": "Painel de controle do site Mind Design 2020",
  "type": "project",
  "minimum-stability": "stable",
  "license": "PRIVATE",
  "authors": [
    {
      "name": "Marcelo Costa",
      "email": "mail@mail.com",
      "role": "Developer",
      "homepage": "https://site.com.br"
    }
  ],
  "config": {
    "vendor-dir": "vendor"
  },
  "autoload": {
    "psr-4": {
      "Source\\": "source/"
    },
    "files": [
      "source/Config.php"
    ]
  },
  "require": {
    "phpunit/phpunit": "^9",
    "phpmailer/phpmailer": "6.1.*"
  }
}

Para verificar se a instalação foi feita corretamente, digite na pasta do projeto:

./vendor/bin/phpunit --help

Se mostrar a ajuda do PHPUnit é porque esta tudo certo!

Rodando os testes

Para rodar os testes você precisa digitar:

// versão padrão
./vendor/bin/phpunit tests

// versão com formatação
./vendor/bin/phpunit tests --testdox

Como você ainda não escreveu nenhum teste, ele deve retornar falando que não foram executados testes.

Escrevendo testes

Todos os testes ficarão na pasta ./testes do projeto.

Como boa prática o ideal é o que nome do arquivo seja escrito em StudlyCaps (as iniciais em maiúscula, incluindo a primeira letra).

Agora é só escrever os testes todos nesta pasta e executar sempre que necessário.

Leave a Reply