Fork me on GitHub

Grupo de desenvolvedores de PHP do estado de São Paulo
Próximos encontros e eventos? Visite a página do PHPSP no Meetup

Como escrever testes .phpt – parte 1

Por em em Artigos

Existem diversos tipos de testes para varias finalidades, comportamento, integração, unitários entre outros, mas quando falamos a respeito de escrever testes, sempre estamos com uma aplicação na mente, vamos ver como podemos escrever testes usando arquivos no formato phpt.

O que é .phpt ?

Um teste phpt é um pequeno script usado pelo php-src e equipes de QA para testar as funcionalidades do PHP, e ele pode ser usado com novos lançamentos para certificar-se de que eles continuem funcionando como nas versões anteriores, ou para ajudar a encontrar erros em versões atuais.

Que habilidades são necessárias para escrever um teste phpt?

Tudo o que é realmente necessário para escrever um teste phpt é um conhecimento básico da linguagem PHP, um editor de texto e uma maneira de obter os resultados de seu código. É isso.

Então se você tem escrito e executado scripts PHP, você tem tudo que você precisa.

Como começar escrever testes phpt?

Os arquivos .phpt testes seguem uma Convenção de nomenclatura muito restrita, isso é feito para identificar facilmente o que cada teste phpt faz, os testes devem ser nomeados de acordo com a lista a seguir:

Teste para bugs

Este tipo de teste é geralmente usado quando temos que escrever algum teste para garantir que um determinado bug já resolvido realmente está funcionando, usamos no nome do arquivo, bug<bugid>.phpt

Veja um exemplo de um bug reportado e um exemplo de um arquivo de bug .phpt escrito para garantir que este bug este corrigido corretamente.

Test para um comportamento básico da função

Usamos este tipo de teste para realizar testes básicos de uma determinada funcionalidade de uma função e o nome do arquivo fica desta maneira, <functionname>_basic.phpt.
Veja um exemplo de um teste basic.

Teste para uma função com erro

Utilizamos este tipo de teste para escrever alguns casos que resultarão em erros, a nomenclatura do arquivo é assim <functionname>_error.phpt e aqui você pode conferir um exemplo deste tipo de teste.

Teste para a variação de uma função

Neste caso, é quando queremos realizar vários tipos de testes, muito mais além do _basic.phpt, neste caso temos a opção de fazer variações de testes, assim escrevemos um caso de teste em um arquivo <functionname>_variation1.phpt e outro tipo de caso de teste em outro arquivo <functionname>_variation2.phpt e assim sucessivamente como
nos exemplos abaixo:

array_change_key_case_variation.phpt

array_change_key_case_variation1.phpt

array_change_key_case_variation2.phpt

array_change_key_case_variation3.phpt

array_change_key_case_variation4.phpt

array_change_key_case_variation5.phpt

Teste para extensões

Este tipo de teste é utilizado para teste de extensões no php, sua nomenclatura é
<extname><no>.phpt e aqui segue um exemplo de um teste para a extensão broker e aqui exemplo para a extensão mysqli.

Estrutura de um arquivo .phpt

Boas práticas

Ao contrario de outras plataformas, no php é sugerido que cada script seja testado algo em específico, com poucas linhas e que seja o mais objetivo possível. Isto porque quando um bug é aberto ou uma refatoração é necessária, é mais rápido, muito menos custoso e fácil realizar debug em um arquivo assim do que assim :-)

Para uma lista completa de todas as tags para escrever scripts .phpt, confira aqui .

Sobre marcosptf

Eng. de Software e batera freelancer nos finais de semana.

Mais posts de .