Cómo acelerar las pruebas de Karma y Jasmine con ChromeHeadless

Trabajo con Jasmine y Karma porque es el conjunto de herramientas por defecto para pruebas en Angular. Funciona bien, pero una desventaja es el navegador predeterminado al momento de ejecutarlas.
El navegador es algo lento y en entornos de CI impacta el tiempo de ejecución. Podemos acelerar nuestras pruebas usando ChromeHeadless y Puppeteer junto con Karma.
Instalar paquetes
Primero, instala karma-chrome-launcher y puppeteer.
npm i -D puppeteer karma-chrome-launcherConfigurar Karma
Edita karma.conf.js, agrega la ruta de Puppeteer y define ChromeHeadless como el navegador por defecto.
process.env.CHROME_BIN = require('puppeteer').executablePath()
module.exports = function (config) {
config.set({
....
browsers: ['ChromeHeadless'],
...
});
};Karma ya está listo para usar ChromeHeadless desde la terminal.
dany@dany:~/Documents/danylab$ ng test
⠙ Generating browser application bundles (phase: building)...19 12 2020 22:48:06.285:WARN [karma]: No captured browser, open http://localhost:9876/
19 12 2020 22:48:06.289:INFO [karma-server]: Karma v5.1.1 server started at http://localhost:9876/
19 12 2020 22:48:06.289:INFO [launcher]: Launching browsers ChromeHeadless with concurrency unlimited
19 12 2020 22:48:06.294:INFO [launcher]: Starting browser ChromeHeadless
✔ Browser application bundle generation complete.
19 12 2020 22:48:09.314:WARN [karma]: No captured browser, open http://localhost:9876/
19 12 2020 22:48:09.406:INFO [Chrome Headless 88.0.4298.0 (Linux x86_64)]: Connected on socket ipYKV7Bm7wf_o-d0AAAA with id 12690576
Chrome Headless 88.0.4298.0 (Linux x86_64): Executed 9 of 9 SUCCESS (0.166 secs / 0.13 secs)
TOTAL: 9 SUCCESSListo
Espero que esto te sirva de ayuda para acelerar tus pruebas con Jasmine y Karma.
¡Si te gustó este artículo, compártelo!
Modern frontend development — Angular, React, TypeScript, accessibility, and performance.
Artículos Relacionados
Compartir este artículo
Si esta guía te resultó útil, compártela con tu equipo o con otros desarrolladores.
Software real. Lecciones reales.
Comparto las lecciones que aprendí por las malas, para que puedas evitarlas o estar preparado cuando ocurran.
Únete a 13,800+ desarrolladores y lectores.
Cero spam. Cancela tu suscripción en cualquier momento.