Descarga la aplicación para disfrutar aún más
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.
Compartir