0

Configurar XDebug no Php/Phpunit/Composer

Marcílio Freitas
Marcílio Freitas

Boa noite a todos!


Fiquei curioso para gerar relatórios code coverage no bootcamp SPTech Desenvolvimento Back-end no curso de PHP Avançado, porém sempre dava erro ao tentar gerar.


Segui os passos (links no final do artigo) para instalar o Xdebug que é a ferramenta que o Phpunit usa para fazer os testes e gerar os relatórios(code covarega, text, html, xml, etc) mas sem sucesso. Nada muito complicado!


Finalmente e depois de alguma pesquisa consegui através de um comando do nosso querido stackoverflow (hehe), e vou compartilhar com vocês!


Era preciso usar no terminal(uso o gitbash no VSCode - Windows 10) o comando

vendor/bin/phpunit --generate-configuration


Esse comando exibe um passo a passo para gerar uma configuração em xml do phpunit. Os passos solicitam algumas informações sobre o projeto que estamos aprendendo nos primeiros vídeos do bootcamp.


Saída do comando:

PHPUnit 9.5.4 by Sebastian Bergmann and contributors.

Generating phpunit.xml in C:\xampp\htdocs\digital-cep

Bootstrap script (relative to path shown above; default: vendor/autoload.php): 
Tests directory (relative to path shown above; default: tests): 
Source directory (relative to path shown above; default: src): 
Cache directory (relative to path shown above; default: .phpunit.cache): 

Generated phpunit.xml in C:\xampp\htdocs\digital-cep.
Make sure to exclude the .phpunit.cache directory from version control.


Com isso eu pude usar o comando

vendor/bin/phpunit tests/ --colors=always --coverage-html=report_code_cov

E gerar meu code coverage.


Espero que isso possa ajudar vocês no desenrolar do bootcamp e me ensinem se tiver um método mais fácil!


Links:


Para configurar o Xdebug no seu computador

https://www.lambdatest.com/blog/phpunit-code-coverage-report-html/


Solução no stackoverflow

https://stackoverflow.com/questions/63940763/phpunit-warning-no-filter-is-configured-code-coverage-will-not-be-processed


Extra:

Para que os seus testes retornem na cor verde com 100% no code coverage em HTML é importante que vocês usem o

/** 
* @covers NomeDaClasse
*/ 

Isso irá especificar qual parte do código será testada.


Links sobre o @covers

https://stackoverflow.com/questions/34854482/using-covers-for-a-class

https://phpunit.readthedocs.io/en/8.5/annotations.html#covers


0
0

Comentários (0)

Disposto a aprender , ajudar e em busca do melhor.

Brasil