Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Testando uma aplicação AngularJS utilizando o Karma

Realize testes unitários de modo amigavel e eficiente utilizando AngularJS e o Karma runner. Deixe o seu teste unitário que seja de compreenssão para todos, não so desenvolvedores, utilizando a biblioteca Jasmine para descrever os testes.

  • Login to see the comments

Testando uma aplicação AngularJS utilizando o Karma

  1. 1. TESTES UNITÁRIOS Testando uma aplicação AngularJS utilizando o Karma
  2. 2. HENRIQUE LIMAS google.com/+HenriqueRamosLimas github/HenriqueLimas henriquelimas.github.io
  3. 3. ANGULARJS
  4. 4. FRAMEWORK ROBUSTO MV* Framework sempre mais poderoso Completamente testavel Paginas single page Criação de novos elementos HTML Aprendizado continuo
  5. 5. ESTRUTURA BÁSICA Modulos Controllers Serviços Diretivas
  6. 6. ALGUNS PROBLEMAS Performance, mas porquê?
  7. 7. KARMA
  8. 8. O QUE É Servidor node para testes unitários e e2e Framework: Jasmine, Mocha, QUnit Grunt e Gulp Desenvolvido pela equipe do AngularJS Fácil de configurar
  9. 9. CONFIGURAÇÕES ÚTEIS Integração com Jenkins Watcher Browsers (Chrome, PhantomJS, Firefox, Opera …)
  10. 10. module.exports = function(config) { config.set({ frameworks: ['jasmine'], files: [ 'js/*.js', 'test/**/*Spec.js' ], exclude: [ ], preprocessors: {}, reporters: ['progress'], port: 9876, colors: true, logLevel: config.LOG_INFO, autoWatch: true, browsers: ['Chrome'], singleRun: false }); Arquivos a serem incluidos no teste Framework do teste Arquivo de configuração
  11. 11. JASMINE
  12. 12. PORQUE JASMINE? Fácil e intuitivo Padrão do Karma Ótima documentação
  13. 13. METODOS BÁSICOS
  14. 14. describe(‘Testes unitários', function() { … }); ! ! it(‘deveria testar alguma coisa', function() { … }); Agrupador que define um determinado grupo de testes Agrupador que define o inicio de um caso de teste Agrupadores
  15. 15. beforeEach('jasmine', function() { … }); ! afterEach('jasmine', function() { … }); ! expect(42).toBe(42); Utilitários antes e depois Realizando um teste de cada “it” Teste e Utilitários
  16. 16. UTILIZANDO O ANGULAR-MOCK
  17. 17. FUNÇÕES BÁSICAS Injeção de dependências nos testes Simulação de respostas de servidor Testes de timeoutes e intervalos Simulação do timeZone
  18. 18. TESTANDO O SERVIÇO
  19. 19. alert(DEMO);
  20. 20. TESTANDO O CONTROLLER
  21. 21. alert(DEMO);
  22. 22. TESTANDO DIRETIVAS
  23. 23. alert(DEMO);
  24. 24. console.log(‘Obrigado’); google.com/+HenriqueRamosLimas github/HenriqueLimas henriquelimas.github.io

×