Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Teste, cabra da peste 2

mchelem
December 06, 2014

Teste, cabra da peste 2

Essa é uma reedição da palestra sobre testes unitários em php apresentada no WordCamp Salvador 2014.

(baixe para poder clicar nos links)

mchelem

December 06, 2014
Tweet

More Decks by mchelem

Other Decks in Technology

Transcript

  1. "Mesmo bons programadores cometem erros. A diferença entre um bom

    e um mau programador é que o bom programador usa testes para detectar seus erros o mais cedo possível." phpunit
  2. Fluxo de desenvolvimento sem testes automatizados: 1) Editar o código.

    2) Abrir o navegador e entrar manualmente dados (posts, comentários), ativar o plugin, alterar configurações. 4) Verificar se existem erros em 200 lugares diferentes. 5) Repetir os passos acima um milhão de vezes, para ter certeza. 6) Passar o resto da semana dando suporte.
  3. Fluxo de desenvolvimento com testes automatizados: 1) Editar o código.

    2) Abrir o terminal. 3) Executar os testes. 4) Correr pro abraço.
  4. PHPUnit produz testes * Fáceis de aprender a escrever. *

    Fáceis de ler e escrever. * Fáceis e rápidos de executar. * Isolados.
  5. As fábricas de teste do WP permitem criar * post

    * attachment * comment * user * term * category * tag * blog
  6. Assertions assertArrayHasKey() assertClassHasAttribute() assertClassHasStaticAttribute() assertContains() assertContainsOnly() assertContainsOnlyInstancesOf() assertCount() assertEmpty() assertEqualXMLStructure()

    assertEquals() assertFalse() assertFileEquals() assertFileExists() assertGreaterThan() assertGreaterThanOrEqual() assertInstanceOf() assertInternalType() assertJsonFileEqualsJsonFile() assertJsonStringEqualsJsonFile() assertJsonStringEqualsJsonString() assertLessThan() assertLessThanOrEqual() assertNull() assertObjectHasAttribute() assertRegExp() assertStringMatchesFormat() assertStringMatchesFormatFile() assertSame() assertStringEndsWith() assertStringEqualsFile() assertStringStartsWith() assertThat() assertTrue() ...
  7. Gifs animados! Instalar phpunit: https://www.dropbox.com/s/c6wtn2npc42e738/1.% 20phpunit_install.gif?dl=0 Instalar wp-cli: https://www.dropbox.com/s/r48qsuzablk8mqz/2.%20wp_cli_install.gif?dl=0 Criar

    um site com o wp-cli: https://www.dropbox.com/s/litt8edsurdbpj1/3.%20wp_new_site.gif?dl=0 Ver o site criado e gerar posts: https://www.dropbox.com/s/8yut80udigxwvah/4.%20show_new_site.gif?dl=0 Scaffold plugin: https://www.dropbox.com/s/wkpga6djylmsudw/5.%20wp_scaffold_plugin.gif?dl=0 Rodar testes: https://www.dropbox.com/s/2ltsnrn5l8uglec/6.%20phpunit_plugin.gif?dl=0