Testes
Fazer testes o ajuda a escrever e manter código Astro em funcionamento. O Astro suporta muitas ferramentas populares para testes de unidade, testes de componente e testes de ponta a ponta (e2e), incluindo Jest, Mocha, Jasmine, Cypress e Playwright. Você pode até mesmo instalar bibliotecas de testes específicos de frameworks como a React Testing Library, para testar seus componentes de frameworks de UI.
Frameworks de testes permitem que você declare afirmações ou expectativas sobre como seu código deve se comportar em situações específicas e, em seguida, as compare com o comportamento real do seu código atual.
Vitest
Vitest é um framework de testes de unidade nativo do Vite com suporte a ESM, TypeScript e JSX fornecido pelo esbuild.
Use o auxiliar getViteConfig()
do Astro no seu arquivo de configuração vitest.config.ts
para configurar o Vitest com as configurações do seu projeto Astro.
Veja o template inicial de Astro + Vitest no GitHub.
Cypress
Cypress é uma ferramenta de testes front-end construído para a web moderna. Cypress permite você escrever testes de ponta a ponta para o seu site em Astro.
Instalação
Você pode instalar Cypress usando o gerenciador de pacotes da sua escolha.
Isso vai instalar Cypress localmente como uma dependências de desenvolvimento para seu projeto.
Configuração
Na raiz do seu projeto, crie um arquivo cypress.config.js
com o seguinte conteúdo:
Crie seu primeiro teste do Cypress
-
Escolha uma página para testar. Este exemplo vai testar a página de exemplo
index.astro
abaixo. -
Crie um arquivo
index.cy.js
na pastacypress/e2e
. Use o seguinte teste no arquivo para verificar que o título da página e o cabeçalho estão corretos.Você pode definir
"baseUrl": "http://localhost:4321"
no arquivo de configuraçãocypress.config.js
para usarcy.visit("/")
ao invés decy.visit("http://localhost:4321/")
para uma URL mais conveniente.
Executando seus testes do Cypress
Cypress pode executar a partir da linha de comando ou do aplicativo Cypress. O aplicativo fornece uma interface visual para executar e debuggar seus testes.
Primeiro, inicie o servidor de desenvolvimento para que o Cypress possa acessar seu site ao vivo.
Para executar nosso testes do exemplo anterior usando a linha de comando, execute o seguinte comando:
Alternativamente, execute o teste usando o aplicativo Cypress, execute o seguinte comando:
Uma vez que o aplicativo Cypress for lançado, escolha E2E Testing, então selecione o navegador para ser usado para executar os testes.
Uma vez que a execução do teste tenha finalizado, você deve ver algumas marcações verdes na saída confirmando que seus testes passaram:
Para checar que seu teste realmente funciona, você pode alterar a seguinte linha no arquivo index.astro
:
Então execute o teste novamente. Você deve ver um “x” vermelho na saída confirmando que seu teste falhou.
Próximos passos
Mais informações sobre o Cypress podem ser encontradas nos links abaixo:
Playwright
Playwright é um framework de testes de ponta a ponta para aplicações web modernas. Use a API do Playwright com JavaScript ou TypeScript para testar seu código Astro em todos os motores de renderização modernos, incluindo Chromium, WebKit e Firefox.
Instalação
Você pode começar e executar seus testes usando a extensão do VS Code.
Como alternativa, você pode instalar o Playwright dentro do seu projeto Astro usando o gerenciador de pacotes de sua escolha. Siga as etapas da CLI para escolher JavaScript/TypeScript, nomear sua pasta de testes e opcionalmente, adicionar um fluxo de trabalho do GitHub Actions.
Crie seu primeiro teste com Playwright
-
Escolha uma página para testar. Este exemplo vai testar a página de exemplo
index.astro
abaixo. -
Crie uma nova pasta e adicione o seguinte arquivo de teste em
src/test
. Copie e cole o seguinte teste no arquivo para verificar se os metadados da página estão corretos. Atualize o valor do<title>
da página para corresponder à página que você está testando.Você pode definir
"baseURL": "http://localhost:4321"
no arquivo de configuraçãoplaywright.config.ts
para usarpage.goto("/")
ao invés depage.goto("http://localhost:4321/")
em prol de uma URL mais conveniente.
Executando seus testes com Playwright
Você pode executar um único teste ou vários de uma vez, testando em um ou em vários navegadores. Por padrão, os resultados dos seus testes serão mostrados no terminal. Como opção, você pode abrir o HTML Test Reporter para mostrar um relatório completo e filtrar os resultados dos testes.
-
Para executar nosso teste do exemplo anterior usando a linha de comando, use o comando
test
. Opcionalmente, inclua o nome do arquivo para executar um único teste: -
Para ver o HTML Test Report completo, abra-o usando o seguinte comando:
Execute seus testes no seu código em produção para estar mais próximo ao seu site real após deploy.
Avançado: Iniciando um servidor web de desenvolvimento durante os testes
Você também pode fazer com que o Playwright inicie seu servidor ao executar seu script de testes usando a opção de webServer
no arquivo de configuração do Playwright.
Aqui está um exemplo da configuração e dos comandos necessários utilizando o npm:
-
Adicione um script de teste no arquivo
package.json
na raiz do projeto, como"test:e2e": "playwright test"
. -
Em
playwright.config.ts
, adicione o objetowebServer
e atualize o valor decommand
paranpm run preview
. -
Execute
npm run build
, e em seguida executenpm run test:e2e
para rodar os testes do Playwright.
Mais informações sobre o Playwright podem ser encontradas nos links abaixo:
Learn