Testing, mocha, chai e istanbul

BA Node.js Meetup

1 de abril de 2015

Gabriel Montes

@gab_montes

Software testing

  • Es parte del proceso de SQA
  • Busca mejorar la calidad y reducir costos

Y entonces, ¿por qué no?

  • Es el momento de las malas noticias
  • Está al final del proceso
  • Se usan metodologías "ágiles"
  • Se le resta importancia

"La pereza del programador"

"¡Qué vuelva como bug..!"

"La soberbia del programador"

"¡Este código es perfecto!"

"La soberbia del programador"

Nota: este gráfico no tiene [todavía] una justificación racional

Mocha

  • Organizar casos de prueba
  • Correr pruebas
  • Obtener reportes

Chai

  • Probar condiciones (assertions)
  • Varias sintaxis

istambul

  • Analizar cobertura de código
  • Generar reportes

¡Demo!

Recetas

{
  "devDependencies": {
    "istanbul": "^0.3.0",
    "mocha": "^2.2.0"
  },
  "scripts": {
    "test": "mocha",
    "coverage": "istanbul cover --dir ./reports _mocha -- "
  }
}

Recetas

{
  "devDependencies": {
    "chai": "^2.2.0",
    "istanbul": "^0.3.0",
    "mocha": "^2.2.0",
    "node-inspector": "^0.9.2"
  },
  "config": {
    "testOpts": "-u tdd -R spec",
    "covOpts": "--dir ./reports"
  },
  "scripts": {
    "test": "mocha $npm_package_config_testOpts",
    "test:brk": "node-inspector & npm test -- --debug-brk",
    "test:watch": "npm test -- --watch",
    "coverage": "istanbul cover $npm_package_config_covOpts _mocha -- $npm_package_config_testOpts"
  }
}

Más info

¡Muchas gracias!

Gabriel Montes

 @gab_montes

 gabmontes

Testing, mocha, chai e istanbul

By Gabriel Montes

Testing, mocha, chai e istanbul

  • 1,911