Teste cabra da peste

Embed Size (px)

DESCRIPTION

Slides apresentados na WordCamp Belo Horizonte 2014: http://2014.belohorizonte.wordcamp.org/

Text of Teste cabra da peste

  • 1. Teste, cabra da peste! Introduo ao unit test
  • 2. OHAI! @mchelem mchelem.com michele.silva@gmail
  • 3. 600blogs 20milhesde pageviews mensais
  • 4. WP 2.8 -> WP 3.5 Difcil, mas a gente aprende
  • 5. "Mesmo bons programadores cometem erros. A diferena entre um bom e um mau programador que o bom programador usa testes para detectar seus erros o mais cedo possvel." phpunit
  • 6. Fluxo de desenvolvimento sem testes automatizados: 1) Editar o cdigo. 2) Abrir o navegador e entrar manualmente dados (posts, comentrios), ativar o plugin, alterar configuraes. 4) Verificar se existem erros em 200 lugares diferentes. 5) Repetir os passos acima um milho de vezes, para ter certeza. 6) Passar o resto da semana dando suporte.
  • 7. Fluxo de desenvolvimento com testes automatizados: 1) Editar o cdigo. 2) Abrir o terminal. 3) Executar os testes. 4) Correr pro abrao.
  • 8. Fonte: http://blog.typemock.com/2011/12/23/happy-holidays-from-typemock
  • 9. Quemusa?
  • 10. Mais vantagens * Integrao contnua. * Contribuir com o WordPress. * Confiabilidade.
  • 11. PHPUnit produz testes * Fceis de aprender a escrever. * Fceis de ler e escrever. * Fceis e rpidos de executar. * Isolados.
  • 12. Funo
  • 13. Teste
  • 14. As fbricas de teste do WP permitem criar * post * attachment * comment * user * term * category * tag * blog
  • 15. Exemplos
  • 16. Core do WPTestes PHP
  • 17. Core do WPTestes para reproduzir bugs
  • 18. Testes JavaScript com qunit Core do WP
  • 19. Cobertura de cdigo
  • 20. WP-CLI: $ $ (cria novo plugin com testes)
  • 21. $ demo start Tente fazer isso em casa!
  • 22. Perguntas e Respostas A factory do WordPress cria os posts em banco? Sim, ela usa as funes do WordPress por debaixo dos panos (wp_insert_user, wp_update_post...). possvel usar mocks em vez de acessar o banco? Sim, o phpunit tem suporte a mocks. Tem alguns exemplos de projetos com unit test? Os plugins jetpack, liveblog, wordpress-seo.
  • 23. Perguntas e Respostas Como garantir que os testes foram desenvolvidos corretamente? No h como garantir. um exerccio de criatividade pensar no que poderia dar errado. Porm, o relatrio de cobertura de testes ajuda a entender o que foi testado. O travis-ci tem relatrio de cobertura de testes? No, mas ele se integra bem com ferramentas como code climate e coveralls. Algumas ferramentas como scrutinize tm relatrio de cobertura embutido. No jenkins possvel instalar plugins.
  • 24. Obrigada!
  • 25. PHPUnit: http://phpunit.de/ WP Automated Testing: http://make.wordpress. org/core/handbook/automated-testing/#contributing-tests-to- wordpress WP-CLI Plugin Unit Test: https://github.com/wp-cli/wp-cli/wiki/Plugin-Unit-Tests Referncias