Cardashift becomes a sponsor of the Haskell Foundation

Cardashift is thrilled to become a sponsor of the Haskell Foundation. This foundation is an independent, non-profit organization dedicated to broadening the adoption of Haskell, by supporting its…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Adonis v5 e2e com Cypress

Fala galerinha medonha, hoje resolvi postar algo que acho muito bacana, isso mesmo adonis com cypress, mas não é um simples cypress open , estamos falando de fazer um e2e e executar tudo na docker, sem ter que abrir um navegado para rodar os testes.

Tá mas qual a ideia , porque fazer assim se podemos rodar no navegador e ser feliz?

Bem a ideia vai alem de um simples teste , nos vamos usar o husky e rodar os testes antes de dar um push e para deixar mais interessante vamos rodar mais uma coisa, mas vamos ver na pratica :)

Vamos criar um projeto com adonis seguindo a doc fielmente

durante a instalação selecionamos para usar apenas como api e aplicamos o eslint para mantermos o padrão .

Apos isso vamos instalar o prettier, para usarmos futuramente

e vamos instalar o plugin dele para nosso eslint também

Agora vamos criar nosso .prettierrc claro você pode colocar a configuração que achar melhor, irei mostrar a que uso normalmente.

vamos também dar um tapa no nosso eslint .eslintrc.json, gosto de usar o eslint do airbnb sendo assim vamos instalado também

E nosso .eslintrc.json vai ficar assim.

Agora que ja enfeitamos vamos criar nosso Dockerfile

Nosso foco é mostrar como o teste funciona dessa forma, não irei focar na expliacação do Dockerfile.

Apos fazer isso vamos criar a pasta da magica.

Nessa pasta vamos criar a pasta cypress, o Dockerfile e colocar o wait-for-it , primeiro vamos criar nossa pasta do cypress.

Como vamos usar apenas os testes de forma bem objetivas vamos ter apenas a pasta integration, agora vamos criar nosso Dockerfile.

agora vamos criar nosso 1 teste para ver se nosso adonis deu o start no server e esta acessando a /.

na nossa pasta cypress/integration vamos criar o arquivo server-start.spec.js

nosso arquivo cypress.json ficara assim

dessa forma ele não ira gravar os testes, e não usaremos nem um plugin.

para rodar a 1x basta usar o comando

e prontinho temos nossa base adonis com cypress para teste e2e rodando na docker, para deixar mais interessante podemos fazer algumas modificações em no package.json

agora vamos adicionar as seguintes linhas em nosso package.json

dessa forma sempre que alterar algum .ts ele roda o lint

link do projeto no git

Gostou do artigo deixa suas duvidas e comentários :)

Add a comment

Related posts:

Why Is Love Important in a Relationship

In modern relationships, the word ‘love’ is used too much and often incorrectly. Saying these three words is not the only thing that is important — you should actually mean what you say. Sometimes we…

Pensamientos sobre el futuro

Es gracioso analizar el futuro porque te das cuenta que significa algo diferente para cada persona y cada quién piensa de el a su manera. Estoy segura de que muchos de mis compañeros escribirán…

Latoken lists BXT

BXT is open for trading on LATOKEN! Trading for BXT/ETH and BXT/LA trading pairs is now live. TRADE NOW. Latoken users can begin trading BXT and LA on the website at Latoken.com. To deposit and trade…