O PHPUnit com certeza é uma das melhores ferramentas de teste automatizado em PHP, e normalmente lidar com vários projetos é realmente chato alternar entre eles e toda vez ter que digitar o comando /vendor/bin/phpunit. Não seria muito mais LEGAL ter um alias global que identifique em qual projeto você está no terminal e que disponibilize o comando phpunit ou melhor ainda, ter um alias de teste para cada projeto, como por exemplo: phpunit_project_1 ou phpunit_project_2.
Neste artigo irei demonstrar uma maneira prática e fácil de testar múltiplos projetos que fazem uso do PHPUnit com um único alias “phpunit” para qualquer projeto ou um alias dedicado a realizar testes para projetos pré-definidos. (Os comandos de exemplos foram testados no terminal do Mac).
Vamos supor que temos 2 projetos em nosso diretório “/www”, com uma estrutura similar do exemplo abaixo:
Para executar os testes no project_1, temos que:
-
Acessar a pasta do projeto pelo terminal: cd /www/project_1
-
Executar os testes: /vendor/bin/phpunit
Para qualquer projeto temos que realizar o mesmo processo, acessar a pasta e executar os testes com o comando /vendor/bin/phpunit.
FELIZMENTE, temos outras maneiras de fazer isso de forma mais confortável e ágil, com o .bash_profile temos esse poder!!!!
Por exemplo, para utilizar o comando phpunit e executar o comando /vendor/bin/phpunit automaticamente na pasta de qualquer projeto, podemos fazer o seguinte:
-
No Terminal digite: cd
-
Pressione ENTER e em seguida digite o comando abaixo e pressione ENTER novamente: sudo nano .bash_profile
-
Dentro do arquivo digitamos o seguinte: alias phpunit=’$(pwd)/vendor/bin/phpunit’
-
Para salvar o arquivo pressione: COMMAND + X e em seguida digite Y e pressione ENTER.
-
Para carregar as novas configurações digite: source ~/.bash_profile
O comando basicamente irá criar um novo alias chamado phpunit e será atribuído a ele o caminho atual (pwd) que você estiver no terminal (por exemplo /www/project_1), mais o caminho até o phpunit do seu projeto /vendor/bin/phpunit.
Agora para utilizarmos nosso novo alias, basta entrarmos na pasta do projeto, como por exemplo: “cd /www/project_1” e digitarmos “phpunit” e pressionar ENTER.
Podemos realizar este processo para qualquer projeto, por exemplo: cd /www/project_2 e em seguida phpunit os testes do projeto 2 serão executados.
PERFEITO, certo?!!!
NÃO, ainda podemos melhorar nosso bash para que ele tenha um alias dedicado para cada projeto, vamos alterar algumas coisas:
-
No Terminal digite: cd
-
Pressione ENTER e em seguida digite o comando abaixo e pressione ENTER novamente: sudo nano .bash_profile
-
Dentro do arquivo removemos o código anterior: alias phpunit=’$(pwd)/vendor/bin/phpunit’
-
E inserimos essas duas linhas (aqui você poderá inserir todos os seus projetos conforme desejar): alias phpunit_project_1=‘cd /caminho_pasta_www/project_1/; $(pwd)/vendor/bin/phpunit’
alias phpunit_project_2='cd /caminho_pasta_www/project_2/; $(pwd)/vendor/bin/phpunit'
Para salvar o arquivo pressione: COMMAND + X e em seguida digite Y e pressione ENTER.
Para carregar as novas configurações digite: source ~/.bash_profile
PRONTO!!
Agora podemos executar os nossos testes de qualquer lugar, sem a necessidade de acessar a pasta do projeto para executá-los.
Valeu pessoal, espero que tenha ajudado!