Agregar pruebas unitarias a una aplicación DOM virtual de Oracle JET
Introducción
Las pruebas son una parte crucial del ciclo de vida del desarrollo, lo que garantiza la creación de aplicaciones web robustas y estables. Existen varios tipos de pruebas, como las pruebas integrales y las pruebas de integración. Las pruebas unitarias implican la escritura de pruebas para unidades individuales de código, incluidas clases, funciones o métodos. Es una buena práctica escribir pruebas unitarias al principio del proceso de desarrollo. Empezar temprano no solo demuestra la importancia de las pruebas, sino que también aumenta la probabilidad de lograr una cobertura completa de las pruebas, en lugar de esperar hasta que la aplicación web sea completamente funcional y compleja.
Objetivos
En este tutorial, aprenderá a instalar herramientas de prueba mediante el comando add testing de la CLI de Oracle JET y a escribir y ejecutar una prueba de unidad en la aplicación DOM virtual de Oracle JET.
El comando add testing instala Jest y la biblioteca de pruebas previas, además de actualizar la sección scripts del archivo package.json de la aplicación con comandos para ejecutar las pruebas de unidad que escriba.
Nota: No utilice Jest para probar o interactuar con los componentes de la interfaz de usuario de Oracle JET en la aplicación. El equipo de Oracle JET probó estos componentes ampliamente como parte del proceso de desarrollo de los componentes. En su lugar, usa Jest para escribir pruebas unitarias para el código que escribes en tu aplicación. Para realizar pruebas de interfaz de usuario automatizadas de la aplicación DOM virtual de Oracle JET que desarrolle, utilice nuestra biblioteca de automatización de interfaz de usuario del componente WebElements de Oracle JET (
@oracle/oraclejet-webdriver). Esta biblioteca, construida sobre Selenium WebDriver, está diseñada para funcionar con componentes JET. Para empezar, consulte Configuración de un entorno para crear pruebas de automatización de la interfaz de usuario para aplicaciones web de Oracle JET.
Requisitos
- Un entorno de desarrollo configurado para crear aplicaciones DOM virtuales de Oracle JET que incluye una instalación de Node.js
- Finalización del tutorial anterior en esta ruta de aprendizaje, Depuración de una aplicación DOM virtual de Oracle JET
Tarea 1: Adición de las bibliotecas de prueba
-
Vaya a la carpeta
JET-Virtual-DOM-appy agregue las bibliotecas de prueba.npx ojet add testingLas herramientas de Oracle JET crean una carpeta
test-configen la carpetaJET-Virtual-DOM-appcon los archivos de configuración que necesitan las bibliotecas de prueba:./JET-Virtual-DOM-app/test-config jest.config.js testSetup.tsTambién actualiza el archivo
package.jsoncon las herramientas de prueba que instala el comandoadd testing. Estas actualizaciones incluyen entradas para Jest y la biblioteca de pruebas previas.. . . "devDependencies": { . . . "@oracle/oraclejet-jest-preset": "16.0.11", "@testing-library/preact": "3.2.3", "@types/jest": "29.5.3", . . . "jest": "29.6.2", "jest-environment-jsdom": "29.6.2", . . . },Por último, actualiza la sección
scriptsen el archivopackage.jsoncon comandos para llamar a la biblioteca de pruebas.. . . "scripts": { . . . "test": "jest -c test-config/jest.config.js", "test:debug": "node --inspect-brk node_modules/.bin/jest --runInBand" },
Tarea 2: Escribir una prueba de unidad
-
Vaya a la carpeta
JET-Virtual-DOM-app/src/components/contenty cree una nueva carpeta denominada__tests__. -
En la carpeta
JET-Virtual-DOM-app/src/components/content/__tests__recién creada, cree un archivo de script de prueba denominadocontent.spec.tsx. -
En el archivo
content.spec.tsx, escriba entradas que prueben la presencia de la cadenaProduct Informationen el archivoJET-Virtual-DOM-app/src/components/content. La prueba también espera que esta cadena se incluya en una etiqueta de elementoH1.import { h } from "preact"; import { render } from "@testing-library/preact"; import { Content } from "../index"; test("renders Product Information header with a h1 heading", () => { const { getByText } = render(<Content />); const headerElement = getByText("Product Information"); expect(headerElement.tagName).toBe("H1"); });El archivo de script de prueba
content.spec.tsxcompletado también utiliza llamadasjest.mockpara proporcionar acceso a las importaciones (store_data.jsonyojs/ojmutablearraydataprovider) que necesita una instancia del componente de contenido. Para incluir estas llamadasjest.mocken el archivo de secuencia de comandos de prueba, consulte content-spec-tsx.txt.
Tarea 3: Ejecución de la prueba de unidad
En la ventana de terminal, navegue hasta el directorio JET-Virtual-DOM-app y ejecute la prueba de unidad en la carpeta JET-Virtual-DOM-app/src/components/content/__tests__ ejecutando el siguiente comando.
npm test
La prueba se ejecuta y muestra una salida de la consola similar a la siguiente.
$ npm test
> JET-Virtual-DOM-app@1.0.0 test
> jest -c test-config/jest.config.js
PASS src/components/content/__tests__/content.spec.tsx
Test suite for Content component
√ Renders Product Information header with a H1 tag (14 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 2.145 s
Ran all test suites.
Siguiente paso
Continúe con el siguiente tutorial de este módulo.
Este tutorial forma parte del módulo Su Primera Aplicación Oracle JET Virtual DOM.
- Creación de una Aplicación Oracle JET Virtual DOM mediante una Plantilla de Inicio
- Adición de Componentes a una Aplicación Oracle JET Virtual DOM
- Enlace de Datos de un Componente en una Aplicación Oracle JET Virtual DOM
- Depuración de una Aplicación Oracle JET Virtual DOM
- Adición de Pruebas de Unidad a una Aplicación Oracle JET Virtual DOM
- Preparación para desplegar una aplicación Oracle JET Virtual DOM
Puede volver a la página principal de la ruta de aprendizaje de DOM virtual para acceder a todos los módulos de creación de aplicaciones de DOM virtuales.
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Add unit tests to an Oracle JET virtual DOM app
G40607-01