Skip to content

CI CD Testes Frontend

filipe_sales edited this page Apr 22, 2023 · 1 revision

Funcionamento

Para melhor manutenibilidade do código fonte bem toda solicitação de Merge Request na branch de develop, será executado as rotinas de testes a fim de validar as funcionalidades existentes.

image

Automação de Teste do Frontend

Este workflow automatiza o processo de teste do frontend do projeto. Ele realiza uma instalação limpa das dependências do Node.js, armazena em cache e restaura as dependências para aumentar a velocidade de execução, compila o código-fonte e executa testes em diferentes versões do Node.js. Isso é feito sempre que ocorre um push ou pull request para a branch "develop".

Como funciona?

1. Configuração do ambiente

O workflow é executado em uma máquina virtual Ubuntu usando o "runs-on: ubuntu-latest". É importante configurar o ambiente antes de executar os testes para garantir que todas as dependências necessárias estejam instaladas. O workflow usa o "actions/setup-node@v3" para instalar e configurar diferentes versões do Node.js especificadas na matriz.

2. Instalação de Dependências

O próximo passo é instalar as dependências necessárias para executar os testes. Isso é feito usando o "npm ci" em vez do "npm install". O "npm ci" instala as dependências do pacote diretamente do arquivo "package-lock.json" e é mais rápido e confiável para usar em ambientes de CI/CD.

3. Execução dos Testes

Com as dependências instaladas, o workflow executa os testes usando o comando "npm run test:unit". Este comando executa os testes de unidade definidos no código-fonte do projeto.

4. Armazenamento em Cache e Restauração de Dependências

Para aumentar a velocidade de execução do workflow, o "actions/setup-node@v3" pode armazenar em cache as dependências do Node.js. Isso é feito usando a opção "cache: 'npm'" e especificando o caminho para o arquivo "package-lock.json" usando a opção "cache-dependency-path: './frontend/package-lock.json'". Quando as dependências são armazenadas em cache, o workflow pode restaurá-las em execuções futuras, economizando tempo e recursos.

Como rodar o workflow localmente?

Este workflow é projetado para ser executado no Github Actions, mas também pode ser executado localmente com o Github CLI. Para fazer isso, você precisa:

  1. Clonar o repositório do projeto: git clone https://github.com/user/repo.git
  2. Acessar a pasta frontend: cd repo/frontend
  3. Instalar o Github CLI: Github CLI
  4. Autenticar com sua conta Github: gh auth login
  5. Rodar o workflow: gh workflow run frontend-unit-tests.yml

Conclusão

Este workflow automatiza o processo de teste do frontend do projeto, tornando-o rápido, confiável e consistente. Ele é executado sempre que há um push ou pull request na branch "develop", garantindo que todos os novos recursos e alterações de código sejam testados antes de serem incorporados ao projeto. Ao armazenar em cache e restaurar as dependências do Node.js, o workflow economiza tempo e recursos, tornando-o ainda mais eficiente.

Clone this wiki locally