Logo Studenta

10 Incorporar testing en la construcción

Esta es una vista previa del archivo. Inicie sesión para ver el archivo original

1
00:00:05,740 --> 00:00:10,230
Es momento de incorporar el testing como un paso en la construcción de nuestra imagen.
2
00:00:10,240 --> 00:00:15,700
Pero antes de hacerlo quiero mostrarles algo, porque es un error que nos va a aparecer y quiero que
3
00:00:15,700 --> 00:00:16,870
ustedes sepan porque sale.
4
00:00:17,710 --> 00:00:22,120
Vamos a venirnos a nuestra carpeta de test y renombre este archivo.
5
00:00:22,630 --> 00:00:24,520
Vamos a ponerle otro nombre aquí.
6
00:00:25,820 --> 00:00:30,860
Y este nombre va a ser cualquier cosa, pero sin el test, cualquier otro nombre, cualquier o cualquier
7
00:00:30,860 --> 00:00:31,670
otro nombre no importa.
8
00:00:31,670 --> 00:00:34,160
Pero quítenle la palabra test y presionen Enter.
9
00:00:34,520 --> 00:00:34,790
Ok.
10
00:00:34,910 --> 00:00:36,890
Simplemente quítenle el nombre de test.
11
00:00:37,040 --> 00:00:38,270
Regresemos a la terminal.
12
00:00:38,840 --> 00:00:39,830
Limpiemos esto.
13
00:00:39,830 --> 00:00:43,700
NPM, npm, run, test enter.
14
00:00:43,970 --> 00:00:45,920
Y nos va a lanzar un error.
15
00:00:46,220 --> 00:00:48,980
O se ve como un warning, Pero esto va a ser un error.
16
00:00:49,340 --> 00:00:52,130
Y me dice que no encontró ninguna prueba.
17
00:00:52,130 --> 00:00:58,560
Es decir, no encontró ningún archivo que tenga la extensión con el nombre expect o test en el proyecto.
18
00:00:58,580 --> 00:00:59,270
Y eso está bien.
19
00:00:59,270 --> 00:01:01,280
Y buscó cinco módulos, digamos.
20
00:01:02,510 --> 00:01:03,110
Perfecto.
21
00:01:03,620 --> 00:01:04,850
Pero no lo encontró.
22
00:01:04,850 --> 00:01:05,870
Porque no lo encontró.
23
00:01:06,670 --> 00:01:07,130
Por qué?
24
00:01:07,550 --> 00:01:09,380
Yo le cambié el nombre Test.
25
00:01:10,400 --> 00:01:15,800
Ok, ahora si yo escribo nuevamente el test y vuelvo a intentarlo, todo va a funcionar porque logré
26
00:01:15,800 --> 00:01:18,020
encontrar el archivo etc Nada sorprendente no?
27
00:01:18,080 --> 00:01:23,930
Y es importante que ustedes sepan por el cual ese error aparecio, porque lo vamos a ver en unos momentos.
28
00:01:24,470 --> 00:01:27,770
Cerremos la parte del testing y regresemos a nuestro Docker Field.
29
00:01:28,400 --> 00:01:33,080
Recuerden en qué momento nosotros ocuparíamos llamar el testing.
30
00:01:33,110 --> 00:01:39,410
Vamos a ver, primero montamos nuestro Linux con la versión bueno, montamos un Linux Alpine 3.16,
31
00:01:39,410 --> 00:01:40,760
la versión de Snow 19.
32
00:01:41,300 --> 00:01:47,240
Ya estamos ahí, hacemos el cd a la carpeta de app, copiamos el paquete JSON y lo copiamos dentro del
33
00:01:47,240 --> 00:01:47,750
app.
34
00:01:48,110 --> 00:01:54,080
Instalamos las dependencias y aquí copiamos el app JS y lo ponemos dentro de la carpeta app.
35
00:01:54,500 --> 00:01:59,630
Tal vez más de uno va a decir bueno, tal vez después de copiar esto, en donde nosotros podemos ejecutar
36
00:01:59,630 --> 00:02:02,900
la parte del testing, tal vez aquí otra vez, alguien va a decirlo.
37
00:02:02,900 --> 00:02:07,400
Bueno, tal vez después de que hacemos el npm install, pues todavía no, porque nos hace falta copiar
38
00:02:07,400 --> 00:02:15,440
cosas, entonces podemos ejecutar ese comando de ese comando del testing, el npm run test.
39
00:02:15,650 --> 00:02:18,260
Vaya, uno podría pensar lo haríamos con el cmd?
40
00:02:18,590 --> 00:02:22,550
Técnicamente, si ustedes quieren hacerlo, podrían hacerlo para que solo pase las pruebas.
41
00:02:22,550 --> 00:02:28,040
Sería una una imagen hecha solo para probar el código, pero es exactamente este mismo comando.
42
00:02:28,040 --> 00:02:35,420
Entonces voy a poner aquí realizar testing, npm, run, test.
43
00:02:36,710 --> 00:02:38,510
Y este comando debería ejecutar la prueba.
44
00:02:38,990 --> 00:02:40,940
Y básicamente, esto sería todo entre comillas.
45
00:02:40,940 --> 00:02:45,620
Y yo sé que más de una persona que ya ha trabajado con Docker Field sabe que esto se puede optimizar
46
00:02:45,620 --> 00:02:45,860
mucho.
47
00:02:45,860 --> 00:02:47,860
Y ya lo vamos a hacer por ahora.
48
00:02:47,870 --> 00:02:53,570
Por ahora nuevamente quiero que caminemos, que comprendamos cada paso antes de salir corriendo y esto
49
00:02:53,570 --> 00:02:54,920
va a ser muy, muy, muy educativo.
50
00:02:54,920 --> 00:02:55,460
Ya van a ver.
51
00:02:55,970 --> 00:03:05,360
Regresemos a nuestra consola y podemos hacer un Docker Image LS para ver el nombre de nuestro última
52
00:03:05,990 --> 00:03:10,130
imagen que creamos que es Query slash ticker y el tag es Castor.
53
00:03:10,130 --> 00:03:11,540
Ahora voy a crear un mapache no?
54
00:03:11,960 --> 00:03:15,170
Entonces nuevamente Docker que vale espacio?
55
00:03:15,710 --> 00:03:16,890
Qué nombre le quiero poner?
56
00:03:16,910 --> 00:03:21,860
Voy a poner el tag, el mismo tag que nosotros tenemos ahí, pero le voy a poner también mapache.
57
00:03:22,880 --> 00:03:23,730
Este va a ser el tag.
58
00:03:23,780 --> 00:03:27,830
También es conveniente que creemos el aire y lo demás, pero bueno, este va a ser mapache.
59
00:03:28,370 --> 00:03:28,740
Punto.
60
00:03:28,820 --> 00:03:33,740
Para que el locker exactamente en este pack donde me encuentro presione en control Enter y esto va a
61
00:03:33,740 --> 00:03:35,600
empezar a realizar la creación de nuestra imagen.
62
00:03:35,600 --> 00:03:41,270
Hay muchas partes que ya van a estar en caché porque no han cambiado, pero si detectó que hubo cambios
63
00:03:41,270 --> 00:03:45,890
en el paquete JSON, entonces eso va a volver a ser el npm show y todo lo demás.
64
00:03:46,550 --> 00:03:51,310
Y noten que aquí dispara un error en el paso seis de seis que es npm run test.
65
00:03:51,320 --> 00:03:57,860
El paso seis es el que acabamos de agregar y falló y me dice Cron ticker yes falló, no encontró ninguna
66
00:03:57,860 --> 00:03:58,310
prueba.
67
00:03:58,790 --> 00:04:02,420
Que raro van a decir más de uno porque yo estoy viendo mi prueba.
68
00:04:02,420 --> 00:04:03,350
Aquí está la prueba.
69
00:04:03,560 --> 00:04:10,370
Pero si analizamos exactamente qué fue lo que copiamos, no copiamos el testing, es decir, copiamos
70
00:04:10,370 --> 00:04:16,700
el package json, copiamos este archivo, sea este aquí lo copiamos y lo pegamos en el app, luego copiamos
71
00:04:16,700 --> 00:04:19,520
el PPP JS y lo pegamos aquí.
72
00:04:19,730 --> 00:04:20,510
Y eso es todo.
73
00:04:20,930 --> 00:04:22,010
Esto es todo lo que movimos.
74
00:04:22,280 --> 00:04:27,440
Pero recuerde que también refactorizar nuestro código y tenemos nuestras funciones aquí en el Task,
75
00:04:27,440 --> 00:04:32,540
es decir, esta carpeta también tenemos que moverla y tenemos que mover también el testing para que
76
00:04:32,540 --> 00:04:33,920
se pueda realizar aquí adentro.
77
00:04:34,080 --> 00:04:37,580
Entonces más de uno podría decir ah, bueno, entonces tenemos que empezar a escribir cada uno de los
78
00:04:37,580 --> 00:04:39,820
directorios y cada uno de los paths.
79
00:04:40,160 --> 00:04:41,180
Técnicamente sí.
80
00:04:42,100 --> 00:04:44,600
Pero hay varias maneras de hacer esto en un solo paso.
81
00:04:44,620 --> 00:04:50,350
Por ejemplo, yo puedo decirle que copie todo punto del destino y lo pegue en el working directory,
82
00:04:51,010 --> 00:04:51,280
ok?
83
00:04:52,000 --> 00:04:56,320
Le estoy diciendo copie todo lo que está en este pack y lo pegue en el working directory.
84
00:04:56,530 --> 00:04:58,300
Esto también trae otro tipo de problemas.
85
00:04:58,300 --> 00:05:03,100
No es la solución, esto lo va a solventar, pero también va a acarrear
otros problemas como qué problemas
86
00:05:03,400 --> 00:05:03,970
va a traer?
87
00:05:03,970 --> 00:05:07,960
El problema de que también voy a copiar los módulos de Node.
88
00:05:08,350 --> 00:05:15,160
Es decir, voy a copiar estos módulos de no voy a, por decirlo así, transferir todo el file system
89
00:05:15,160 --> 00:05:15,760
que tengo aquí.
90
00:05:15,760 --> 00:05:17,630
Todo este proyecto lo voy a mover.
91
00:05:17,650 --> 00:05:18,940
Eso también incluye el Docker.
92
00:05:18,940 --> 00:05:23,860
Phil va a incluir el testing, va a crear el módulo de Note, va a incluir si ustedes tienen una, un
93
00:05:23,860 --> 00:05:28,800
repositorio, es decir, una carpeta invisible, también se va a ir a esa carpeta, va a copiar tu repositorio,
94
00:05:28,810 --> 00:05:33,070
va a copiar literalmente todo y ya vamos a revisar eso muy pronto.
95
00:05:33,820 --> 00:05:38,230
Pero bueno, copiamos eso y ahora todo debería de funcionar.
96
00:05:38,230 --> 00:05:39,700
Vamos a vamos a ver qué pasa.
97
00:05:39,820 --> 00:05:44,230
Flecha direccional arriba, presionamos Enter, empieza a ejecutar las pruebas.
98
00:05:44,230 --> 00:05:45,850
Todo pasa y construyó nuestra imagen.
99
00:05:45,850 --> 00:05:52,570
Mapache Está bien si a ustedes les tiró algún error por los módulos de nuevo, no se preocupen.
100
00:05:52,570 --> 00:05:54,400
De todos modos, tenemos que hacer una corrección aquí.
101
00:05:55,150 --> 00:05:57,310
Pero construyó la imagen y aquí.
102
00:05:57,310 --> 00:06:02,740
Lo que significa es que nuestro testing fue incorporado en el proceso de construcción de la misma.
103
00:06:02,740 --> 00:06:03,760
Es decir, se montó.
104
00:06:03,760 --> 00:06:08,290
No empezó a ejecutar el npm run test, pasaron las pruebas y listo.
105
00:06:08,290 --> 00:06:12,110
Pero qué pasa si nos vamos a la carpeta de pruebas y comenten este de aquí?
106
00:06:12,130 --> 00:06:13,870
Comenten esta línea y graben los cambios?
107
00:06:13,870 --> 00:06:18,520
Es decir, nosotros estamos esperando que el proceso se ejecute dos veces, pero solo lo estamos ejecutando
108
00:06:18,520 --> 00:06:23,470
una vez gánense los cambios, regresemos a la terminal Flecha direccional arriba y tratemos de ejecutar
109
00:06:23,470 --> 00:06:24,640
esta construcción de nuevo.
110
00:06:25,450 --> 00:06:26,560
Y aquí tenemos el error.
111
00:06:27,520 --> 00:06:29,210
Note que todo lo demás está en caché.
112
00:06:29,230 --> 00:06:30,460
Eso funciona muy rápido.
113
00:06:30,790 --> 00:06:33,400
Voy a venir aquí con ticket y tenemos el error.
114
00:06:33,430 --> 00:06:36,400
Aquí hay varios logs de lo que sucedió.
115
00:06:36,940 --> 00:06:38,440
Y aquí tenemos que se esperaba dos.
116
00:06:38,440 --> 00:06:39,770
Se recibió uno.
117
00:06:39,790 --> 00:06:40,900
El error está aquí.
118
00:06:41,320 --> 00:06:43,690
Tenemos pruebas en Sync de V.
119
00:06:43,690 --> 00:06:45,310
Debe ejecutar el proceso dos veces.
120
00:06:45,310 --> 00:06:46,630
Aquí está el error que falló.
121
00:06:46,630 --> 00:06:51,460
Debe ejecutar procesos, veces está la prueba que falló, etcétera, etc, y no construyó mi imagen.
122
00:06:51,610 --> 00:06:55,450
Exit Code uno no salió correctamente, no se construyó la nueva imagen.
123
00:06:55,750 --> 00:06:56,590
Que pasaría aquí?
124
00:06:56,590 --> 00:07:00,760
Tenemos que regresar a nuestro testing, ver qué pasó con el código o ver qué pasó en la prueba.
125
00:07:00,940 --> 00:07:06,700
Corregir ya sea el código o la prueba y nuevamente intentar hacer el Bill de mi aplicación.
126
00:07:07,510 --> 00:07:11,900
Y ahora al volverlo a hacer se genera todo lo demás, porque noten que todo lo demás estaba en caché
127
00:07:11,900 --> 00:07:16,760
y realmente detectó que no hubo muchos cambios y ya teníamos nuestra nueva imagen.
128
00:07:16,760 --> 00:07:17,170
Mapache.
129
00:07:17,500 --> 00:07:24,520
Entonces en este caso To get y Match LS Y ahí tenemos nuestra versión anterior que fue Castor y este
130
00:07:24,520 --> 00:07:30,280
es Mapache que fue creado hace unos cuantos minutos, pero también quiero que preste mucha atención
131
00:07:30,280 --> 00:07:30,790
en algo.
132
00:07:31,180 --> 00:07:37,960
La imagen creció exponencialmente, creció como unos 70 megas en su contenido.
133
00:07:38,380 --> 00:07:43,060
Vamos a hablar de esto, de ese peso, de lo que por qué se incrementó tanto en la próxima clase.

Continuar navegando