Las pruebas son un elemento clave para cualquier aplicación. Para Node.js, el marco disponible para Pruebas se llama Jasmine. A principios de 2000, existía un marco para probar aplicaciones JavaScript llamado JsUnit. Más tarde, este marco se actualizó y ahora se conoce como Jasmine.
Jasmine ayuda en las pruebas unitarias automatizadas, algo que se ha convertido en una práctica clave al desarrollar e implementar aplicaciones web modernas.
En este tutorial, aprenderá cómo configurar su entorno con jasmine y cómo puede comenzar a probar su primera aplicación Node.js con jasmine.
En este tutorial, aprenderá:
-
Descripción general de Jasmine para probar aplicaciones Node.js
-
Cómo usar Jasmine para probar aplicaciones Node.js
Descripción general de Jasmine para probar aplicaciones Node.js
Jasmine es un marco de prueba de desarrollo impulsado por el comportamiento (BDD) para JavaScript. No se basa en navegadores, DOM ni en ningún marco de JavaScript. Por lo tanto, es adecuado para sitios web, proyectos de Node.js o cualquier lugar donde se pueda ejecutar JavaScript. Para comenzar a usar Jasmine, primero debe descargar e instalar los módulos necesarios de Jasmine.
A continuación, deberá inicializar su entorno e inspeccionar el archivo de configuración de jasmine. Los siguientes pasos muestran cómo configurar Jasmine en su entorno
Paso 1) Instalación de los módulos NPM
Debe instalar el módulo jasmine para usar el marco jasmine desde una aplicación Node. Para instalar el módulo jasmine-node, ejecute el siguiente comando.
npm instalar jasmine-node
Paso 2) Inicialización del proyecto: al hacer esto, jasmine crea un directorio de especificaciones y un json de configuración para usted. El directorio de especificaciones se usa para almacenar todos sus archivos de prueba. Al hacer esto, jasmine sabrá dónde están todas sus pruebas y luego podrá ejecutarlas en consecuencia. El archivo JSON se utiliza para almacenar información de configuración específica sobre jasmine.
Para inicializar el entorno de jasmine, ejecute el siguiente comando
jazmín init
Paso 3) Inspeccione su archivo de configuración. El archivo de configuración se almacenará en la carpeta spec / support como jasmine.json. Este archivo enumera los archivos de origen y los archivos de especificaciones que le gustaría que incluyera el corredor Jasmine.
La siguiente captura de pantalla muestra un ejemplo típico del archivo package.json para jasmine.
- Tenga en cuenta que el directorio de especificaciones se especifica aquí. Como se señaló anteriormente, cuando se ejecuta jasmine, busca todas las pruebas en este directorio.
- Lo siguiente a tener en cuenta es el parámetro spec_files: esto denota que cualquier archivo de prueba que se cree debe agregarse con la palabra clave 'spec'.
Cómo usar Jasmine para probar aplicaciones Node.js
Para usar Jasmine para probar aplicaciones de Node.js, es necesario seguir una serie de pasos.
En nuestro ejemplo a continuación, vamos a definir un módulo que agrega 2 números que deben probarse. Luego, definiremos un archivo de código separado con el código de prueba y luego usaremos jasmine para probar la función Agregar en consecuencia.
Paso 1) Defina el código que debe probarse. Vamos a definir una función que sumará 2 números y devolverá el resultado. Este código se escribirá en un archivo llamado "Add.js."
var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
Explicación del código:
- La palabra clave "exportaciones" se utiliza para garantizar que otros archivos puedan acceder a la funcionalidad definida en este archivo.
- Luego estamos definiendo una función llamada 'AddNumber'. Esta función está definida para tomar 2 parámetros, ay b. La función se agrega al módulo "exporta" para hacer que la función sea una función pública a la que pueden acceder otros módulos de la aplicación.
- Finalmente estamos haciendo que nuestra función devuelva el valor agregado de los parámetros.
Paso 2) A continuación, debemos definir nuestro código de prueba de jazmín, que se utilizará para probar nuestra función "Agregar" en el archivo Add.js. El siguiente código debe colocarse en un archivo llamado add-spec.js.
Nota : - La palabra 'especificación' debe agregarse al archivo de prueba para que pueda ser detectada por jazmín.
Explicación del código:
var app=require("… /Add.js");describe("Addition",function(){it("The function should add 2 numbers",function() {var value=app.AddNumber(5,6);expect(value).toBe(11);});});
- Primero debemos incluir nuestro archivo Add.js para que podamos probar la función 'AddNumber' en este archivo.
- Ahora estamos creando nuestro módulo de prueba. La primera parte del módulo de prueba es describir un método que básicamente le da un nombre a nuestra prueba. En este caso, el nombre de nuestra prueba es "Adición".
- El siguiente bit es dar una descripción para nuestra prueba usando el método 'it'.
- Ahora invocamos nuestro método Addnumber y enviamos 2 parámetros 5 y 6. Esto se pasará a nuestro método Addnumber en el archivo App.js. Luego, el valor de retorno se almacena en una variable llamada valor.
- El paso final es hacer la comparación o nuestra prueba real. Como esperamos que el valor devuelto por la función Addnumber sea 11, lo definimos usando el método hope (value) .toBe (el valor esperado).
Producción
- Para ejecutar la prueba, es necesario ejecutar el comando jasmine.
- La siguiente captura de pantalla muestra que después de ejecutar el comando jasmine, detectará que hay una prueba llamada add-spec.js y ejecutará esa prueba en consecuencia. Si hay algún error en la prueba, se mostrará en consecuencia.
Resumen
- Para probar una aplicación Node.js, primero se debe instalar el marco jasmine. Esto se hace usando el administrador de paquetes Node.
- El código de prueba debe escribirse en un archivo separado y la palabra 'especificación' debe agregarse al nombre del archivo. Solo si se hace esto, jasmine podrá detectar que es necesario ejecutar un archivo.
- Para ejecutar la prueba, debe ejecutar el comando jasmine. Esto buscará todos los archivos que tengan la palabra 'especificación' adjunta y ejecutará el archivo en consecuencia.