Deividy Metheler Zachetti
Olá, tudo bem? Sou o Ligeiro e hoje vamos falar sobre GitHub Actions e como rodar testes automaticamente em todos os commits do seu repositório.
No vídeo, vamos usar o repositório Argument Validator como exemplo. Ele está um pouco desatualizado e usa Karma para rodar os testes, mas nós vamos dar uma refatorada nele e configurar os testes para serem executados automaticamente em cada commit.
Primeiro, vamos remover tudo relacionado a Karma e Grunt do repositório. Em seguida, vamos instalar as dependências necessárias para rodar os testes usando Mocha. Para isso, basta executar o comando npm install no terminal.
Agora, podemos rodar os testes usando o seguinte comando: ./node_modules/.bin/mocha spec. No entanto, se você tiver muitos testes, será necessário passar um parâmetro para o comando acima, para que ele rode todos os testes. O parâmetro é *.js, então o comando ficaria: ./node_modules/.bin/mocha '*.js'.
Agora que sabemos como rodar os testes, vamos configurar o GitHub Actions para que eles sejam executados automaticamente em cada commit. Para isso, vamos criar um diretório chamado .github no repositório e, dentro dele, um diretório chamado workflows. Dentro do diretório workflows, vamos criar um arquivo chamado test.yml.
No arquivo test.yml, vamos configurar o GitHub Actions para que ele execute os testes em cada push no branch master. Para isso, vamos usar as seguintes ações:
actions/checkout@v2: essa ação faz o checkout do repositório no GitHub Actions.actions/setup-node@v2: essa ação configura a versão do Node.js a ser usada nos testes.npm install: essa ação instala as dependências do projeto.npm run test: essa ação roda os testes usando o comando que configuramos anteriormente.O arquivo test.yml ficaria assim:
name: Test
on:
push:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: 16
- name: Install Dependencies
run: npm install
- name: Run Tests
run: npm run test
Agora, basta commitar o arquivo test.yml e pushar no repositório. Os testes serão executados automaticamente em cada push no branch master.
Espero que tenham gostado deste tutorial sobre GitHub Actions e como rodar testes automaticamente em cada commit. Até a próxima!
Esse blog post foi escrito utilizando AI ( especificamente whisper-large ) com o projeto https://github.com/S4mpl3r/youtube2blog.
O vídeo abaixo foi transcrito e utilizado como base para gerar o texto: