Bienvenida e Introducción

1

¿Qué son las pruebas unitarias?

2

¿Por qué hacer pruebas unitarias?

Creando un framework de pruebas básico

3

Mi primera prueba unitaria en JavaScript

4

Las funciones expect() y it()

5

Organizando el código para correr en la web

6

Organizando el código para correr utilizando nodejs

Análisis estático de código

7

Herramientas de análisis estático de código

8

ESLint: Agregando alertas a nuestro código con ECMA Script

9

Herramientas de corrección de estilo

10

Herramientas de tipado

Trabajando con Jasmine en el frontend

11

Profundización en SpyOn: Comandos más utilizados y cómo ponerlos a prueba

12

Configurar un ambiente de trabajo para trabajar con el framework jasmine

13

Configurar Jasmine utilizando Node.js

14

Primer set de pruebas con Jasmine

15

Diccionario Jasmine

Probando Nodejs apps con Jasmine

16

Introducción al módulo de testing del lado del servidor

17

Configurando el proyecto Jasmine utilizando npm

18

Agregando Plugins a Jasmine

19

Configurando nuestro reporter

20

Pruebas en el servidor: Verificando un status 200 en GET

21

Pruebas en el servidor: Probando el método GET y Reto con FindByID

22

Pruebas en el servidor: Probando el método POST (request to server)

23

Pruebas en el servidor: Probando el método POST (request to PDF)

Probando Angular apps con Jasmine

24

Tipos de pruebas

25

Pruebas en el frontend: Probando el componente principal (App)

26

Configurando los ciclos de vida

27

Creando las pruebas del formulario: Configuración

28

Creando las pruebas necesarias para un formulario. (Primeras pruebas)

29

Probando el caso de exito al guardar un elemento en el servidor.

30

Trabajando con event emitters

31

Testeando ngZone y navegación.

32

Configurando el TestBed de el componente PINs

33

Creando un espia sobre el objecto window

Pruebas de integración de Angular apps con Jasmine

34

Ejecutando funciones a través de eventos en el template

35

Probando la navegación

36

Probando servicios con HTTP

37

Completando las pruebas del servicio HTTP

38

Cierre del curso

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprende Inglés, Desarrollo Web, AI, Ciberseguridad y mucho más.

Antes: $249

Currency
$209
Comienza ahora

Termina en:

1 Días
13 Hrs
19 Min
33 Seg
Curso de Unit Testing para MEAN con Jasmine

Curso de Unit Testing para MEAN con Jasmine

Cristian Daniel Marquez Barrios

Cristian Daniel Marquez Barrios

Pruebas en el servidor: Verificando un status 200 en GET

20/38
Recursos

Los “espías” son funciones de prueba que interceptan las llamadas a una función y recolectan datos sobre lo que sucede dentro ella: el número de veces que se llama una función, con qué parámetros y los valores de retorno de la función (o, si lanzó excepciones, los mensajes y la información del error).

Vamos a configurar un servidor exclusivo para ejecutar las pruebas unitarias de nuestra aplicación. Recuerda que NO vamos a probar la conexión con la base de datos, solo la interacción del servidor con la aplicación Front End. Por lo tanto, vamos a crear un servidor con la mínima configuración posible para hacer peticiones y probar que funcione correctamente.

Recuerda que usamos el método HTTP GET para solicitar datos de nuestra aplicación, no para borrar, actualizar oagregar información; solo visualizarla.

Aportes 4

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Sobre el testeo del servidor, archivo serve.spec.js:

Concéntrense solo en lo que hay dentro del describe

  • primero tenemos que conocer lo que queremos testear

  • En el decribe se prueba que la peticion get a http://localhost:3000/api devuelva la lista de pins y status code 200.

  • analizando la implementación de ese get (server/routes/pins.js), vemos que tiene una dependencia con el método Pins.find.

  • Pins.find es un método que busca pins en la base de datos. En ese get se le pasa como argumento un callback que se ejecuta cuando la base de datos le respondió. Ese callback tiene 2 parámetros, el primero es error y el segundo la data.

  • para hacer nuestro testeo del get, no deberíamos depender de que pierda tiempo consultando la base de datos. Por eso usamos spyOn, para que esa dependencia devuelva un resultado rápido pero coherente.

  • en este caso se hace con spyOn que al usarse Pins.find, este devuelva [{id:1}], una lista de pins con su id.

  • el get podría hacer muchas cosas con esa info, entonces si nosotros le pasamos toda la info que necesita, usando spyOn, nosotros podemos calcular manualmente lo que debe devolver, si devuelve lo esperado, entonces pasa la prueba.

  • en este caso lo único que hace el get es devolver un archivo json

Para entender el resto, deberían saber node y express

Creo que esta clase se debió dividir en 3 clases diferentes. Está fantástica, pero me costó repetir el video más de 8 veces para poder reproducir cada paso, de entre los cuales, y en mi mera opinión, se obvian muchas cosas. Soy desarrollador de Angular desde hace cuatro años y de node desde hace dos y aún así me costó bastante trabajo el concepto de los spies, especialmente de las llamadas asíncronas y de la impersonificación de los callbacks, creo que para estudiantes con menos experiencia en node, sería muy bueno explicar estos temas con un poco más de detalle. Es respetuosamente una opinión.

fue una clase complicada y más porque ejecuto código que no entendi muy bien! Tendre que volver a verla con calma!