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

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?

o inicia sesi贸n.

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.

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

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