0
PHPBR – TestFest




 por Er Galvão Abbott

   Com a ajuda da
    comunidade!
O que é a TestFest

- Evento que procura melhorar a cobertura de código do    PHPBR – TestFest
interpretador PHP através d...
Créditos

Essa apresentação e a testfest em si não seriam possíveis sem a   PHPBR – TestFest
ajuda de:

Sebastian Bergmann...
O que são testes PHPT

- Cada teste é representado por um arquivo .phpt                     PHPBR – TestFest

- Cada teste...
Escrevendo Testes

- Cada arquivo de teste contém seções, identificadas       PHPBR – TestFest
po dois hífens. Três seções...
Testes Portáveis

- Existem formas de escrever testes portáveis:         PHPBR – TestFest
     - Executar o teste condicio...
Testes Portáveis

Definindo diretivas de configuração:                              PHPBR – TestFest

--TEST--
Testing req...
Preparando sua máquina

Para preparar a sua máquina para a testfest, siga estes passos:   PHPBR – TestFest

1. Instale o V...
Preparando sua máquina (cont.)

Base Memory Size: 512Mb (se possível)                             PHPBR – TestFest
Marque ...
Vamos trabalhar!

O que precisamos para começar está pronto. Agora vamos     PHPBR – TestFest
decidir quais funções/extens...
Upcoming SlideShare
Loading in...5
×

PHPBR TestFest

1,080

Published on

Apresentação da TestFest do PHPBR no décimo Fórum Internacional de Software Livre

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,080
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "PHPBR TestFest"

  1. 1. PHPBR – TestFest por Er Galvão Abbott Com a ajuda da comunidade!
  2. 2. O que é a TestFest - Evento que procura melhorar a cobertura de código do PHPBR – TestFest interpretador PHP através da escrita de testes. - O objetivo é que pessoas, como um GU, por exemplo, se reúnam para aprender juntos - Uma grande oportunidade de contribuir com o PHP Bem-vindo(a)! Participe! Divulgue! Contribua! por Er Galvão Abbott Com a ajuda da comunidade!
  3. 3. Créditos Essa apresentação e a testfest em si não seriam possíveis sem a PHPBR – TestFest ajuda de: Sebastian Bergmann Eric Stewart Zoe Slattery Créditos PHP SP PHP SC PHP Core Developers Valeu! por Er Galvão Abbott Com a ajuda da comunidade!
  4. 4. O que são testes PHPT - Cada teste é representado por um arquivo .phpt PHPBR – TestFest - Cada teste é executado em um processo separado. - Testes são isolados; - É possível configurar diretivas específicas para cada teste. PHPT 101 Arquivos seguem uma convenção de nomenclatura: - Testes de bugs: bug<bug_id>.phpt - Testes de funções: <nome_da_função>_basic.phpt - comportamento básico <nome_da_função>_error.phpt - comportamento de erro <nome_da_função>_variation.phpt – variação de comportamento - Testes genéricos para extensões: por Er Galvão Abbott Com a ajuda da <nome_da_extensão><número>.phpt comunidade!
  5. 5. Escrevendo Testes - Cada arquivo de teste contém seções, identificadas PHPBR – TestFest po dois hífens. Três seções são obrigatórias: - TEST: Título do teste, não pode exceder uma linha. - FILE: O código PHP. - EXPECT[F|REGEX]: O resultado esperado. PHPT 101 --TEST-- Hello World Example --FILE-- <?php print (“Hello World”); ?> --EXPECT-- Hello World por Er Galvão Abbott Com a ajuda da comunidade!
  6. 6. Testes Portáveis - Existem formas de escrever testes portáveis: PHPBR – TestFest - Executar o teste condicionalmente; - Definir diretivas de configuração específicas Testes Condicionais: --TEST-- Portabilidade Hello World Example, 32-bit only --SKIPIF-- <?php if (PHP_INT_SIZE != 4) { die ('This test is for 32-bit platforms'); } ?> --FILE-- <?php print (“Hello World”); ?> --EXPECT-- por Er Galvão Abbott Hello World Com a ajuda da comunidade!
  7. 7. Testes Portáveis Definindo diretivas de configuração: PHPBR – TestFest --TEST-- Testing require with an existing file --INI-- include_path='.;/var/www/' --FILE-- Portabilidade <?php require 'foo.php'; ?> --EXPECT-- Foo! Importante: Questões relacionadas à timezone devem ser definidas na seção FILE, com a função date_default_timezone_set devido à ordem de prioridade com que o interpretador PHP trabalha. por Er Galvão Abbott Com a ajuda da comunidade!
  8. 8. Preparando sua máquina Para preparar a sua máquina para a testfest, siga estes passos: PHPBR – TestFest 1. Instale o VirtualBox (gerenciador de VMs) e o Subversion (controle de versão): sudo apt-get install virtualbox-ose sudo apt-get install subversion Preparativos 2. Copie os arquivos US8-PT-Main.vdi e portForwarding.sh e dê permissão de execução ao .sh (chmod +x); 3. Inicie o VirtualBox e siga os passos: File → Virtual Media Manager Add → selecione o arquivo .vdi Open → OK → Feche o Virtual Media Manager New (para criar uma nova VM) No wizard clique Next Digite o nome: “US8-PT-Main” (sem as aspas) Operating System: Linux por Er Galvão Abbott Version: Ubuntu Com a ajuda da Next comunidade!
  9. 9. Preparando sua máquina (cont.) Base Memory Size: 512Mb (se possível) PHPBR – TestFest Marque “Boot Hard Disk (Primary Master)” Marque “Use existing Hard Disk” Selecione “US8-PT-Main (Normal, 10.00GB)” Next Finish Preparativos Abra os settings da VM Em “General” → “Advanced” Marque “Enable PAE/NX” Em “Network” Clique no ícone da roda dentada Coloque em “Guest MAC Address”: 080027A230B4 Marque “Cable connected” Em “Audio” Desmarque “Enable Audio” Execute o arquivo portForwarding.sh Faça o checkout pelo svn: por Er Galvão Abbott svn co http://testfest.php.net/repos/testfest/BrazilUG /caminho Com a ajuda da comunidade!
  10. 10. Vamos trabalhar! O que precisamos para começar está pronto. Agora vamos PHPBR – TestFest decidir quais funções/extensões testaremos e vamos botar a mão na massa! Obrigado por comparecer e se interessar. Procure por nós: Obrigado! http://www.phpbr.com.br http://wiki.phpbr.com.br http://www.galvao.eti.br @galvao @php_br por Er Galvão Abbott Com a ajuda da comunidade!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×