Ejercicio: Instalación de paquetes
El equipo de Tailwind Traders planea desarrollar varias aplicaciones Node.js. Han encontrado Jest, un conocido marco de pruebas de configuración cero, en el registro npm. Quieren instalar Jest, escribir algunas pruebas y ejecutarlas para evaluar su eficacia.
Adición de un paquete de prueba con la CLI de npm
Tiene algún código que extrae una dirección de una cadena. El trabajo es sencillo: instalar el marco de pruebas, escribir algunas pruebas y ejecutarlas.
En una nueva ventana de terminal (Ctrl + Mayús + `), cambie a la carpeta que contiene los archivos de este ejercicio:
cd node-dependencies/5-exercise-dependency
Ver el contenido de la carpeta:
ls -R
En esta carpeta, debería ver dos archivos JavaScript:
-| address-parser.js -| package.json
Abra el archivo address-parser.js. Debería ser similar a este archivo:
exports.addressParser = function parseOrder(order) { const match = order.match(/order:\s(?<order>\w+\s\w+).*address:\s(?<address>\w+\s\w+\s\w+).*payment info:\s(?<payment>\w+)/) return match.groups; }
Esta función toma una cadena y analiza la información relativa al pedido que realiza un cliente, el lugar donde debe entregarse y el método de pago. Ahora se agregará Jest y se escribirán algunas pruebas para la función.
Cierre el archivo
address-parser.js
.Ejecute este comando para instalar el paquete de Jest:
npm install jest --save-dev
Después de instalar el paquete de Jest, abra el archivo
package.json
y busque la seccióndevDependencies
. Debería ver una entrada similar a este ejemplo en la que el valor de la propiedadjest
es un número de versión semántico:"devDependencies": { "jest": "<number.number.number>" }
En el archivo package.json, busque la sección
scripts
. Reemplace la entrada de la accióntest
por el código siguiente:"test": "jest"
Guarde los cambios y cierre el archivo package.json.
En el terminal, cree una subcarpeta denominada __tests__.
mkdir __tests__
Nota:
Asegúrese de usar caracteres de subrayado dobles al crear la carpeta __tests__. La carpeta tests es una convención de nomenclatura que usa Jest, el marco de pruebas. Jest reconoce automáticamente los archivos de una carpeta tests (o archivos con .test. o .spec. en sus nombres) como archivos de prueba y los incluye al ejecutar pruebas. Esta convención ayuda a mantener los archivos de prueba organizados y fácilmente identificables en el proyecto.
En la carpeta __tests__, cree un archivo denominado address-parser.js y agregue el contenido siguiente al archivo:
const { addressParser } = require('../address-parser'); describe('Address Parser', () => { test('should parse correctly', () => { expect(addressParser("I want to to order: 3 books to address: 112 street city here is my payment info: cardnumber") ).toEqual({ order: "3 books", address: "112 street city", payment: "cardnumber", }); }); });
El script de prueba:
- Comprueba la capacidad de análisis de la función address-parser.js.
- Garantiza que la función puede analizar correctamente la información necesaria.
Guarde los cambios y cierre el archivo.
La estructura del proyecto debería tener un aspecto similar al de este ejemplo:
-| package.json -| address-parser.js -| __tests__/ ---| address-parser.js
Escriba este comando en el terminal para ejecutar las pruebas:
npm run test
Debería obtener la salida siguiente:
PASS __tests__/address-parser.js Address parser ✓ should parse correctly (2 ms) Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total Snapshots: 0 total Time: 0.4 s Ran all test suites.
Terminado. La prueba se ha superado y ha agregado la función de prueba mediante la instalación de una dependencia.
¡Enhorabuena! Ha instalado correctamente Jest como una dependencia, ha escrito pruebas para el código de la aplicación y ha ejecutado las pruebas. Parece que Jest está a la altura de las expectativas y que probablemente en Tailwind Traders estarán satisfechos con el resultado de esta evaluación.