Karma: test runner, puede trabajar con diferentes frameworks de tests (mocha, jasmine...)
Jasmine: testing framework (sintaxis para escribir los tests)
### Instalar karma
https://karma-runner.github.io/2.0/intro/installation.html
Install karma-cli globally:
`npm install -g karma-cli`
Nuevo proyecto:
`npm init`
`npm install karma karma-jasmine karma-chrome-launcher jasmine-core --save-dev`
Modificar `package.json`:
```javascript
scripts: {
test: 'karma start' //tiene que estar instalado karma a nivel global
}
```
### Configurar karma
https://karma-runner.github.io/2.0/intro/configuration.html
`karma init`
- testing framework?
- requirejs?
- browsers?
- ...y mil cosas mas
Se genera un archivo `karma.conf.js`, revisar sobre todo la parte de:
```javascript
- files: [ *.spec.js ... ]
- browsers: [ ... ]
```
### Ejecutar los tests
`npm run test`
Se abren los navegadores que tengas configurados y se ejecutan los tests.
Ves los resultados en la terminal.
Si necesitamos debugear en navegador, meter un `debugger` en la parte del código del test que nos interese.
### Escribir tests
https://jasmine.github.io/
Ver sintaxis de jasmine.