Momento donde uno se da cuenta que sabe poco con todo lo que existen en el entorno tecnologico, tambien que no se que estoy haciendo .
Introduccion
¿Qué es el testing?
La piramide del testing
Hablemos sobre deuda técnica
Herramientas de testing
Creando el proyecto
Tu primer test
Escribiendo pruebas
Pruebas estáticas
Assertions / matchers
Setup and Teardown
Implementado Setup
Tipos de pruebas
Metodologías
Pruebas Unitarias
Pruebas unitarias
Coverage report
Instalación de Docker para este curso
Proyecto de API
Mocking, Stub, doubles
Mocking
Spies
Generando Fake Books
Integration Test & E2E
Configurando supertest en el API
Integration Test
e2e
UI Test
UI Test
Automatizar
Unit tests en GitHubActions
E2E en GitHubActions
¿Quieres más cursos de testing?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Nicolas Molina
Aportes 20
Preguntas 4
Momento donde uno se da cuenta que sabe poco con todo lo que existen en el entorno tecnologico, tambien que no se que estoy haciendo .
Comencé el curso por error ya que pensaba era testing en JS como front-end, seguramente fallo mio por no leer o no prestar atención. No entendia nada y me salieron un montón de errores, finalmente pude crear la BD y correr la ap en el local host, eso si tarde casi 2 días en darme cuenta que el código no es JS plain sino Express pero pude hacerlo, con lo cual bajo mi frustración. …Nicolas me parece un excelente profesor. Ya q llegué aqui terminaré el curso.
Si la consola te lanza un error como este:
ERROR: for mongo Cannot start service mongo: driver failed programming external connectivity on endpoint api_mongo_1 Error starting userland proxy: listen tcp4 0.0.0.0:27017: bind: address already in use
ERROR: Encountered errors while bringing up the project
sudo apt install net-tools
sudo lsof -i -P -n | grep 27017
sudo kill <process ID>
(El process Id es el numero a la par “process name” de lo que te devolvio el comando que comienza con lsof), mi caso era el 1242. Ejem:
mongod 1242 mongodb 11u IPv4
y listo! Luego solo corre el docker-compose up -d mongo y deberia funcionar
Si alguien tuvo mas tuvo problemas con la autenticación de la base de datos, solo cambien la URL en el .env y en MongoAtlas por mongodb://localhost:27017/demo Con esto queda corregido y funciona sin ningún problema
Si les sale este error:
TypeError: Cannot read properties of undefined (reading 'startsWith')
Muevan el archivo de las variables de entorno (.env) a la raíz de la carpeta api. Corran el programa nuevamente y debería funcionar.
A ver si entendí: clonamos el repo al entorno local, instalamos las dependencias especificadas en el package.json con ‘npm i’, levantamos un contenedor de docker-compose con la imagen de mongo:4.4 tal como dice en el archivo docker-compose.yml, en este archivo se especifican las credenciales root y root123 para posteriormente instalar MongoDB Compass y decirle que se conecte a ese contenedor por medio del puerto 27017 de la máquina local que está unido al puerto 27017 del contenedor. Después usamos ‘npm start’ para correr la API de Express en localhost y escuchar peticiones http por el puerto 27017 de la máquina local. Right?
¡Hola!
Quizás te sientas un poco perdido en esta clase, en caso que no, mira el siguiente comentario.
Bueno, ya, quiero contarte que el uso de docker, librerias externas, uso de la librería de Mongo podría ser un poco desgastante de aprender en tan solo una clase, a lo que desde mi perspectiva, si no quieres sentirte tan perdido/a, te recomendaría que siguieras de principio a fin, sin omitir cursos, la ruta de
Backend con node.js, ¡Pero no solo acaba ahí! También te recomiendo el curso de Prework en windows o puedes buscar también el de linux o Mac, también tomar el curso de terminal y también el curso de Docker (Este está un poquito desactualizado pero googleando logras terminar el curso y aprender un montón), después de muchos estrellones que llegué a tener, que no entendía muchas cosas, puedo decir que al menos me funciona el ambiente 😅, no te desanimes, las cosas buenas nunca son fáciles.
2023 y todo jaló bien, nomas que tuve que actualizar mi versión de Home a Pro para hacer este curso. jaja
Todo esto no me dio problemas usando Ubuntu 😄
en mi caso tenia un error, y es por que instale un plugin y en vez de escribir docker-compose es docker compose
Otra forma de hacer este paso sin docker es creando una cuenta en https://www.mongodb.com/cloud/atlas/register
y creando un nuevo cluster shared que es gratuito.
Así no es necesario correr una instancia de docker que en computadores mac por ejemplo, consume mucha memoria ram.
https://download-directory.github.io/
sitio para descargar una carpeta de github
sudo pacman -S docker-compose
yay -S mongodb-compass
Nota: Si no tienes yay, busca un tutorial de instalación o hazlo mediante el método tradicional
cd ~/Downloads
git clone https://aur.archlinux.org/mongodb-compass.git
cd mongodb-compass
makepkg -si
Solucion problema Autenticacion mongo compass
archivo docker-compose:
services:
mongo:
image: mongo:4.4
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root123
ports:
- 3000:27017
En esta nueva configuración, el puerto 3000 del host será mapeado al puerto 27017 del contenedor de MongoDB. Esto significa que cualquier cliente que se conecte al puerto 3000 de la dirección IP del host será redirigido al puerto 27017 del contenedor de MongoDB.
Recuerda que es importante que el puerto que especifiques en el host no esté ya en uso por otro servicio o aplicación para evitar conflictos.
el archivo .env quedaria:
MONGO_DB_NAME=demo
MONGO_URL=mongodb://root:root123@localhost:3000?retryWrites=true&writeConcern=majority
y se usa es string para conectarte en mongocompass.
error during connect… eso me salio al ejecutar el comando
<docker-compose -d mongo>
Cuando el pone up -d es por que es un alias de docker-compose up
por si se confunden y escriben down o up y no les funciona.
asi que para que les funcione tienen que escribir completo el docker-compose up -d para correr la instancia de docker o docker-compose down para apagar la instancia.
un alias es una manera de correr un comando largo con menos palabras.
En Windows, si tienen este error:
$ docker-compose up -d mongo
[+] Running 0/0
Escriban el siguiente comando: (sin el $)
$ docker network create api_default
y luego procedan con el comando:
$ docker-compose up -d mongo
En mi caso preferí crear la base de datos en la nube de MongoDb, se llama Atlas y es relativamente fácil configurarla, les dejo el enlace: MongDbAtlas
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?