Adicionar testes de unidade a um aplicativo DOM virtual do Oracle JET
Introdução
O teste é uma parte crucial do ciclo de vida do desenvolvimento, garantindo a criação de aplicativos web robustos e estáveis. Existem vários tipos de teste, como teste de ponta a ponta e teste de integração. O teste de unidade envolve a escrita de testes para unidades individuais de código, incluindo classes, funções ou métodos. É uma boa prática escrever testes de unidade no início do processo de desenvolvimento. Começar cedo não só demonstra a importância do teste, mas também aumenta a probabilidade de alcançar a cobertura completa do teste, em vez de esperar até que o aplicativo web seja totalmente funcional e complexo.
Objetivos
Neste tutorial, você aprenderá a instalar ferramentas de teste usando o comando add testing da CLI do Oracle JET e como escrever e executar um teste de unidade no aplicativo DOM virtual do Oracle JET.
O comando adicionar teste instala o Jest e a Biblioteca de Testes de Preação, além de atualizar a seção scripts do arquivo package.json do seu aplicativo com comandos para executar os testes de unidade que você escreve.
Observação: Não use o Jest para testar ou interagir com os componentes da interface do usuário do Oracle JET em seu aplicativo. A equipe do Oracle JET testou extensivamente esses componentes como parte do processo de desenvolvimento dos componentes. Em vez disso, use o Jest para escrever testes de unidade para o código que você escreve em seu aplicativo. Para executar o teste automatizado da interface do usuário do aplicativo Oracle JET DOM virtual que você desenvolve, use nossa biblioteca de automação da interface do usuário WebElements do componente Oracle JET (
@oracle/oraclejet-webdriver). Esta biblioteca, construída sobre o Selenium WebDriver, foi projetada para funcionar com componentes do JET. Para começar, consulte Configurar um ambiente para criar testes de automação da interface do usuário para aplicativos Web do Oracle JET.
Pré-requisitos
- Um ambiente de desenvolvimento configurado para criar aplicativos DOM virtuais do Oracle JET que incluem uma instalação de Node.js
- Conclusão do tutorial anterior nesta programação de estudo, Depurar um aplicativo Oracle JET DOM virtual
Tarefa 1: Adicionar as Bibliotecas de Teste
-
Navegue até a pasta
JET-Virtual-DOM-appe adicione as bibliotecas de teste.npx ojet add testingO conjunto de ferramentas do Oracle JET cria uma pasta
test-configna pastaJET-Virtual-DOM-appcom os arquivos de configuração exigidos pelas bibliotecas de teste:./JET-Virtual-DOM-app/test-config jest.config.js testSetup.tsEle também atualiza o arquivo
package.jsoncom as ferramentas de teste que o comandoadd testinginstala. Essas atualizações incluem entradas para o Jest e a Biblioteca de Testes de Preação.. . . "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 fim, ele atualiza a seção
scriptsno arquivopackage.jsoncom comandos para chamar a biblioteca de teste.. . . "scripts": { . . . "test": "jest -c test-config/jest.config.js", "test:debug": "node --inspect-brk node_modules/.bin/jest --runInBand" },
Tarefa 2: Escrever um Teste de Unidade
-
Navegue até a pasta
JET-Virtual-DOM-app/src/components/contente crie uma nova pasta chamada__tests__. -
Na pasta
JET-Virtual-DOM-app/src/components/content/__tests__recém-criada, crie um arquivo de script de teste chamadocontent.spec.tsx. -
No arquivo
content.spec.tsx, grave as entradas que testam a presença da stringProduct Informationno arquivoJET-Virtual-DOM-app/src/components/content. O teste também espera que essa string seja incluída em uma tag 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"); });O arquivo de script de teste
content.spec.tsxconcluído também usa chamadasjest.mockpara fornecer acesso às importações (store_data.jsoneojs/ojmutablearraydataprovider) que uma instância do componente de Conteúdo exige. Para incluir essas chamadasjest.mockno arquivo de script de teste, consulte content-spec-tsx.txt.
Tarefa 3: Executar o Teste de Unidade
Na janela do terminal, navegue até o diretório JET-Virtual-DOM-app e execute o teste de unidade na pasta JET-Virtual-DOM-app/src/components/content/__tests__ executando o comando a seguir.
npm test
O teste é executado e exibe a saída da console semelhante à seguinte.
$ 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.
Próxima Etapa
Prossiga para o próximo tutorial neste módulo.
Este tutorial faz parte do módulo Seu Primeiro Aplicativo Oracle JET Virtual DOM.
- Criar um Aplicativo Oracle JET Virtual DOM Usando um Modelo Inicial
- Adicionar Componentes a um Aplicativo Oracle JET Virtual DOM
- Vincular Dados a um Componente em um Aplicativo Oracle JET Virtual DOM
- Depurar um Aplicativo Oracle JET Virtual DOM
- Adicionar Testes de Unidade a um Aplicativo Oracle JET Virtual DOM
- Preparar para Implantar um Aplicativo Oracle JET Virtual DOM
Você pode retornar à página principal da programação de estudo do DOM virtual para acessar todos os módulos na criação de aplicativos DOM virtuais.
Mais Recursos de Aprendizado
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Add unit tests to an Oracle JET virtual DOM app
G40613-01