Aggiungere test di unità a un'applicazione DOM virtuale di Oracle JET
Introduzione
Il test è una parte cruciale del ciclo di vita dello sviluppo, garantendo la creazione di app web robuste e stabili. Esistono vari tipi di test, ad esempio test end-to-end e test di integrazione. Il test di unità implica la scrittura di test per singole unità di codice, incluse classi, funzioni o metodi. È buona norma scrivere unit test all'inizio del processo di sviluppo. Iniziare presto non solo dimostra l'importanza del test, ma aumenta anche la probabilità di raggiungere la copertura completa del test, piuttosto che aspettare che l'app web sia completamente funzionale e complessa.
Obiettivi
In questa esercitazione verrà descritto come installare gli strumenti di test utilizzando il comando aggiungi test dell'interfaccia CLI di Oracle JET e come scrivere ed eseguire un test di unità nell'app Oracle JET Virtual DOM.
Il comando add testing installa Jest e la libreria di test preliminari, oltre ad aggiornare la sezione scripts del file package.json dell'app con i comandi per eseguire i test delle unità scritti.
Nota: non utilizzare Jest per eseguire il test o interagire con i componenti dell'interfaccia utente di Oracle JET nell'applicazione. Il team Oracle JET ha testato ampiamente questi componenti nell'ambito del processo di sviluppo dei componenti. Utilizzare invece Jest per scrivere unit test per il codice che si scrive nell'app. To perform automated UI testing of the Oracle JET virtual DOM app that you develop, use our Oracle JET Component WebElements UI automation library (
@oracle/oraclejet-webdriver). Questa libreria, costruita su Selenium WebDriver, è progettata per funzionare con i componenti JET. Per iniziare, vedere Impostare un ambiente per creare test di automazione dell'interfaccia utente per le applicazioni Web Oracle JET.
Prerequisiti
- Ambiente di sviluppo impostato per creare applicazioni DOM virtuali Oracle JET che include un'installazione di Node.js
- Completamento della precedente esercitazione su questo percorso formativo, Debug di un'app Oracle JET Virtual DOM
Task 1: Aggiunta delle librerie di test
-
Andare alla cartella
JET-Virtual-DOM-appe aggiungere le librerie di test.npx ojet add testingGli strumenti di Oracle JET creano una cartella
test-confignella cartellaJET-Virtual-DOM-appcon i file di configurazione richiesti dalle librerie di test:./JET-Virtual-DOM-app/test-config jest.config.js testSetup.tsInoltre, aggiorna il file
package.jsoncon gli strumenti di test installati dal comandoadd testing. Questi aggiornamenti includono le voci per Jest e Preact Testing Library.. . . "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", . . . },Infine, aggiorna la sezione
scriptsnel filepackage.jsoncon i comandi per richiamare la libreria di test.. . . "scripts": { . . . "test": "jest -c test-config/jest.config.js", "test:debug": "node --inspect-brk node_modules/.bin/jest --runInBand" },
Task 2: Scrittura di un test unità
-
Passare alla cartella
JET-Virtual-DOM-app/src/components/contente creare una nuova cartella denominata__tests__. -
Nella nuova cartella
JET-Virtual-DOM-app/src/components/content/__tests__, creare un file di script di test denominatocontent.spec.tsx. -
Nel file
content.spec.tsx, scrivere le voci che provano la presenza della stringaProduct Informationnel fileJET-Virtual-DOM-app/src/components/content. Il test prevede inoltre che questa stringa venga racchiusa in un tag 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"); });Il file di script di test
content.spec.tsxcompletato utilizza anche chiamatejest.mockper fornire l'accesso alle importazioni (store_data.jsoneojs/ojmutablearraydataprovider) richieste da un'istanza del componente Contenuto. Per includere queste chiamatejest.mocknel file script di test, vedere content-spec-tsx.txt.
Task 3: Eseguire il test di unità
Nella finestra del terminale, passare alla directory JET-Virtual-DOM-app ed eseguire il test dell'unità nella cartella JET-Virtual-DOM-app/src/components/content/__tests__ eseguendo il comando seguente.
npm test
Il test esegue e visualizza l'output della console simile a quello riportato di seguito.
$ 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.
Passo successivo
Passare all'esercitazione successiva in questo modulo.
Questa esercitazione fa parte del modulo Your First Oracle JET Virtual DOM App.
- Creare un'applicazione DOM virtuale Oracle JET utilizzando un modello iniziale
- Aggiungi componenti a un'applicazione Oracle JET Virtual DOM
- Associazione di dati a un componente in un'applicazione Oracle JET Virtual DOM
- Eseguire il debug di un'applicazione Oracle JET Virtual DOM
- Aggiungi test unità a un'applicazione Oracle JET Virtual DOM
- Preparati a distribuire un'applicazione Oracle JET Virtual DOM
Puoi tornare alla pagina principale del percorso di apprendimento DOM virtuale per accedere a tutti i moduli sulla creazione di app DOM virtuali.
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare Oracle Help Center.
Add unit tests to an Oracle JET virtual DOM app
G40610-01