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

Testes em JavaScript: A Maneira Correta

Testes em JavaScript: A Maneira Correta

Talk apresentada no TDC Florianópolis 2017.

More Decks by Lucas Fernandes da Costa

Other Decks in Programming

Transcript

  1. Testes em Javascript A M A N E I R

    A C O R R E T A lucasfcosta lfernandescosta
  2. teste seu código filesystem calls databases crypto libraries de terceiros

    responsabilidade de quem mantém essas ferramentas testes de integração/black box garantem o funcionamento delas
  3. independência teste de “a” falha o erro está em a,

    b, ou c? function a(input) {
 return b(input, c(input))
 }
  4. function mult(a, b) { let result = 0 for (let

    i = 0; i < b; i++) {
 result = sum(result + a)
 } return result } detalhes de implementação
  5. mult(3, 2)
 expect(sum).to.be.calledTwice function mult(a, b) { return a *

    b; } refactor quebra detalhes de implementação
  6. spies guardam dados sobre a utilização de funções • quantas

    vezes foi chamada
 • com quais argumentos foi chamada
 • qual era o valor de this podemos fazer verificações sobre esses dados
  7. utilizando mocks, stubs & spies com sabedoria Voltaire, 1793 une

    grande responsabilité est la suite inséparable d’un grand pouvoir.
  8. stubs, spies ou mocks? spies stubs mocks quando quero manter

    o comportamento e checar chamadas quando quero substituir comportamentos e checar chamadas quando quero dizer como uma determinada peça deve ser usada (conjunto de regras)
  9. o pipeline de testes TASK RUNNER NPM (recomendado)
 Gulp Grunt

    INSTRUMENTAÇÃO Istanbul TESTING Mocha Chai Tape Jest Jasmine