Test-Driven Development com JavaScript, Jasmine Karma

1.513 visualizações

Publicada em

Aprenda a utilizar Test-Driven Development com JavaScript, Jasmine e Karma

Publicada em: Tecnologia
0 comentários
6 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.513
No SlideShare
0
A partir de incorporações
0
Número de incorporações
162
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Test-Driven Development com JavaScript, Jasmine Karma

  1. 1. Test-Driven Development com JavaScript Rodrigo Branas – @rodrigobranas - http://www.agilecode.com.br
  2. 2. “Transformar equipes de desenvolvimento de software” http://www.agilecode.com.br
  3. 3. Rodrigo Branas rodrigo.branas@agilecode.com.br http://www.agilecode.com.br • Desenvolvendo Software na Gennera • Criando treinamentos na Agile Code • Escrevendo na Java Magazine e PacktPub • Palestrando sobre desenvolvimento de software em eventos, universidades e empresas
  4. 4. Certificações Formação Acadêmica Ciências da Computação – UFSC Gerenciamento de Projetos - FGV SCJA, SCJP, SCJD, SCWCD, SCBCD, PMP, MCP e CSM Experiência Há mais de 12 anos desenvolvendo software na plataforma Java com as empresas: EDS, HP, NET, Citibank, GM, Dígitro, Softplan, OnCast, Senai, VALE, RBS, Unimed, Globalcode, V.Office, Suntech, WPlex e Gennera.
  5. 5. • Há mais de 5 anos liderando pessoas. • Mais de 2000 horas em sala de aula. • Mais de 100 apresentações em eventos. • 6 artigos escritos para revistas. • 1 livro. • Mais de 500 profissionais treinados. • Criação de 22 palestras. • Criação de 10 treinamentos. • Criação de mais de 3.000 slides.
  6. 6. Atualmente, qual é a cobertura de testes nos projetos de vocês?
  7. 7. Qual é o problema em não ter de testes automatizados?
  8. 8. Code and Pray
  9. 9. Trabalho braçal para testar várias vezes a mesma coisa
  10. 10. Trabalhar em um castelo de cartas
  11. 11. Você tem medo do projeto em que trabalha?
  12. 12. Onde entra o Agile nisso tudo?
  13. 13. Velocidade é a ausência de desperdício – Amyr Klink
  14. 14. Se você trabalha para eliminar o desperdício, aumentará gradativamente a porcentagem de tempo que gasta adicionando valor ao produto!
  15. 15. Geralmente a gente pensa e vai codificando, depois vê o que acontece
  16. 16. Geralmente a gente pensa e vai codificando, depois vê o que acontece
  17. 17. Geralmente a gente pensa e vai codificando, depois vê o que acontece
  18. 18. Geralmente a gente pensa e vai codificando, depois vê o que acontece
  19. 19. É tudo uma questão de expectativa
  20. 20. Jasmine Para testar a nossa aplicação, vamos utilizar o framework de testes Jasmine. Ele é fácil de utilizar e se integra bem com ferramentas de automação. http://pivotal.github.io/jasmine
  21. 21. Executando os testes
  22. 22. Como você executa os testes em Java?
  23. 23. Karma O Karma é uma das ferramenta mais utilizadas para a execução de testes escritos em JavaScript. Ela é compatível com principais frameworks de teste como o Jasmine, Mocha e QUnit. http://karma-runner.github.io
  24. 24. Processo de Instalação Para instalar a ferramenta, basta digitar o comando abaixo: npm install -g karma karma-cli
  25. 25. Configuração O Karma é configurado por meio do arquivo karma.conf.js. Nele será especificado o framework de teste, a localização dos arquivos da aplicação e o ambiente de execução. karma init
  26. 26. karma.conf.js module.exports = function(config) { config.set({ basePath: '', frameworks: ['jasmine'], files: ['js/*.js', 'test/*.js'], exclude: [], port: 8080, colors: true, logLevel: config.LOG_INFO, autoWatch: true, browsers: ['Chrome'], singleRun: false }); };
  27. 27. karma start
  28. 28. karma run
  29. 29. Calculadora de Strings Vamos praticar
  30. 30. Vou usar esse negócio o tempo todo?
  31. 31. Escrever o teste antes limita o escopo, evitando codificar além do necessário
  32. 32. Já se pegou codificando várias coisas diferentes ao mesmo tempo?
  33. 33. Escrever o teste antes não aumenta o tempo de desenvolvimento?
  34. 34. Escrever o teste depois ou não escrever e assumir um maior número de bugs para corrigir, não aumenta o tempo de desenvolvimento?
  35. 35. Evitar o refactoring por conta da falta de testes leva a um código de baixa qualidade e difícil de manter, não aumenta o tempo de desenvolvimento?
  36. 36. Ter uma alta rotatividade por conta dos problemas causados pela qualidade do código, não aumenta o tempo de desenvolvimento?
  37. 37. A dificuldade de entendimento por conta de um código sem uma documentação atualizada, como por exemplo um teste, não aumenta o tempo de desenvolvimento?
  38. 38. Testar repetidas vezes a mesma coisa, manualmente, não aumenta o tempo de desenvolvimento?

×