Tutoriais

Como usar o docker-phpqa

Colorful graffiti art

Fotografado por Lucas Gallone.

Como instalar?

  1. Você precisa ter o docker instalado na sua máquina.

  2. Execute nosso instalador:

1
curl -s https://raw.githubusercontent.com/herdphp/docker-phpqa/master/bin/installer.sh | bash

Comece a PHPTestar!!!

Como usar?

Para criar novos arquivos de teste PHPT

O comando generate-phpt, embutido no docker-phpqa, é uma ferramenta de desenvolvimento que existe dentro do repositório PHP-SRC. Sua utilização é bem simples e tem a intenção de inicializar a criação do PHPT.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Usage:
phpqa generate [PHPT_DIR] -f <function_name> |-c <class_name> -m <method_name> -b|e|v [-s skipif:ini:clean:done] [-k win|notwin|64b|not64b] [-x ext]

Where:
-f function_name ................. Name of PHP function, eg cos
-c class name .....................Name of class, eg DOMDocument
-m method name ....................Name of method, eg createAttribute
-b ............................... Generate basic tests
-e ............................... Generate error tests
-v ............................... Generate variation tests
-s sections....................... Create optional sections, colon separated list
-k skipif key..................... Skipif option, only used if -s skipif is used.
-x extension.......................Skipif option, specify extension to check for
-h ............................... Print this message

Se você quiser visualizar a ajuda, pode executar:

1
phpqa generate -h

Se quiser criar um teste PHPT básico para a função ucfirst:

1
phpqa generate -f ucfirst -b

Será criado um arquivo PHPT modelo para a função ucfirst dentro do diretório PHPT padrão. Se quiser escolher o diretório PHPT onde os arquivos serão criados, você pode passá-lo como o primeiro argumento do comando generate:

1
phpqa generate /path/to/phpt/dir -f ucfirst -b

Como rodar os testes que criou em múltiplas versões do PHP

  1. Escreva um teste em qualquer pasta;
  2. Execute o comando phpqa passando como argumentos o caminho do arquivo (relativo ou absoluto) e a versão do PHP na qual o teste será rodado (72, 71, 70, 56, 55):
1
2
3
4
5
6
# sem uma versão o teste rodará no PHP 7.1
phpqa run phpt/examples/closure_061.phpt
# com uma versão o teste rodará nesse versão específica
phpqa run phpt/examples/closure_061.phpt 56
# você pode passar `all` como um segundo argumento e o teste rodará em todas as versões
phpqa run phpt/examples/closure_061.phpt all

Versões do PHP disponíveis

PHP 5.5, 5.6, 7.0, 7.1 e 7.2 (Beta1) estão disponíveis com suporte total;

Contribuição

Se você encontrar qualquer bug ou erro de escrita, sinta-se à vontade para criar uma issue e/ou abrir um pull request com a solução.