Integrando o XDebug com o PHPUnit

Olá pessoal, nesse post eu trago para vocês o passo a passo de como integrar o Xdebug com o PhpUnit que é uma framework de testes unitários para PHP.



Como pré requisitos precisamos de:

- ter visto o vídeo ou post anterior sobre integração do PHPUnit com o Codeigniter 3:

 Integrando o Framework Codeigniter 3 com o PHPUnit via composer (canalmcodebc.blogspot.com)

Para começar precisamos verificar as configurações da máquina que estamos rodando o projeto como versão do PHP, arquitetura da máquina que estamos usando (32 ou 64 bits) e a versão do Zend Extension Build.

Como eu estou usando o xampp como servidor de PHP, vou na raiz da pasta htdocs, abrir o vscode e criar um arquivo chamado info.php

Vamos digitar o seguinte código <?php phpinfo(); ?>

Agora vamos no navegador abrir esse arquivo na url: http://localhost/info.php

Após coletar todas informações que precisamos, vamos no site do xdebug para poder baixar a versão compatível com nosso sistema no site: https://xdebug.org/download




Nas minhas configurações eu uso o PHP na versão 8.0, com arquitetura de 64bits e versão do Zend Extension Build sendo a TS VS 16.

Obs: nts ou ts (non thread safe ou thread safe).

Bom, vamos fazer o download do arquivo que é condizente com nosso sistema.


Agora com o arquivo baixado, vamos copiar esse arquivo e ir ate a pasta do PHP, depois entrar na pasta ext e colar a dll que copiamos.

Vou renomear para apenas php_xdebug.dll

Vamos configurar para que o php saiba que existe essa extensão.

Para isso, vamos no php.ini e procurar por extension_dir

Verificamos se ele esta descomentada a parte que fala que existe uma pasta de extensões que ele deve enxergar.



agora vamos procurar onde estão setadas as extensões e ativar essa nova extensão do xdebug.

aperta ctrl + f e digite: extension=modulename

Após achar o local que ficam as extensões do php, coloque essa linha de código

zend_extension=php_xdebug.dll


depois disso vamos no topo do arquivo php.ini e adicionar o seguinte comando

xdebug.mode=coverage


Agora se testarmos novamente o comando do phpunit para gerar testes unitários ele vai poder gerar o relatório de cobertura total dos testes unitários.







Comentários

Postagens mais visitadas deste blog

Integrando o Framework Codeigniter 3 com o PHPUnit via composer

Comandos/atalhos úteis no Visual Studio Code (VsCode)