Jest vs. Jasmine: entornos de testing para Angular

2/25
Recursos

Aportes 2

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Nico. Excelente labor que han hecho con este set de cursos con Angular. Y ahora este set de testing de igual manera con Angular. Sin duda los estoy aprovechando completamente. Y es la primera vez que experimentaré con pruebas… 🙌

Jasmine: es un framework de pruebas
Karma: es un test runner (corre las pruebas)

Karme corre por detras por lo que solo debemos pooner atención en Jasmine donde escribiremos las pruebas.

El framework más famoso de pruebas actualmente es Jest

¿Porqué no se hacen las pruebas en Jest?
Angular viene preconfigurado para hacer las pruebas en Jasmine por lo que no se deben preocupar por nada.

Angular maneja muchos patrones por si mismo, por ejemplo con un comando puedes instalar una PWA (progressive web app) o puedes confirgurar un service side rendering.

En framework de testing manejan la misma estructura por lo que no hay que procuparse del framework a utilizar. En especial cuando hablamos de código JS

Para poder inciar seguiremos los siguientes pasos

  1. Crear un proyecto desde el cmd
    1. Verifica si tienes instalado el CLI de Angular
	ng --version
  1. Crear el nuevo proyecto
ng new ng-testing-services

//respuesta a las preguntas
yes
scss
  1. Ingresamos al proyecto y lo abrimos en visual studio code
cd ng-testing-services

code .
  1. Nos vamos a fijar en archivos que no nos habiamos fijado previamente

  2. karma.config.js: Es la configuración del test running, por eso tiene un paquete para jasmine y uno para chrome, debido a que las pruebas se realizan contra un navegador, por lo que karma lanza las pruebas contra un navegador. Cabe reslatar que se puede cambiar de navegador

  3. Karma automaticamente va a leer todos los archvios .spec.ts por que son especificaciones de como ese servicio o componente debería funcionar. Aqui se puede encontrar varias pruebas que ya corren

Como correr pruebas

Vamos a la terminal y corremos el siguiente comando

ng test

posteriormente observamos las pruebas corridas en karma

WSL

Si estamos en wsl dentro de windows es necesario instalar la versión estable más reciente de google chrome y hacer unos cambios en el archivo karme.conf.js

  1. dentro del terminar de wsl con el usuario root corremos los siguientes códigos uno por uno
sudo apt update && sudo apt -y upgrade && sudo apt -y autoremove

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt -y install ./google-chrome-stable_current_amd64.deb

google-chrome --version
  1. cambiamos el código de karma.conf.js
    browsers: ['ChromeHeadless'],
  1. corremos las pruebas y visualizamos si funciona