Comments (11)
Ahh que massa saber que o Paulo é um queridão!
Sobre a vantagem de testar contra a URL, é para tentar chegar mais próximo da borda do ambiente de produção possível, e no caso específico do Now, não vejo diferença alguma entre um ambiente de staging e produção tirando os secrets
. Então é uma garantia muito grande, talvez o máximo a se chegar antes de testar direto em produção 😂 faz sentido?
De qualquer forma, isso com certeza não é deal breaker 👍
from brasilapi.
Olá pessoal, gostaria deixar uma sugestão para vocês.
Tem uma lib muito daora chamada Cypress, que faz testes E2E com uma API muito simples de se utilizar, que roda em background inclusive. poderiam se criar interfaces (ou não) para realizar através de uma página qualquer essa consulta de CEP de uma forma mais amigável até para o usuário final, sem ser apenas via API.
Basicamente o Cypress iria executar essas ações de testes através de um endpoint, independente de ser localhost ou remoto em algum serviço online, como variável de ambiente.
Se acharem a ideia viável eu poderia tentar fazer algo do tipo e submeter uma PR com a proposta.
Abraços
from brasilapi.
Para testar os Actions de forma gratuita, o repositório precisa estar open. Eu vou abrir ele, dai vou ficar cavucando devagarinho ao longo dos dias 👍
from brasilapi.
Sobre a vantagem de testar contra a URL, é para tentar chegar mais próximo da borda do ambiente de produção possível
Tem um problema nisso, se o ambiente de produção for modificado e quebrar algo todos os PRs vão começar a acusar erro, mesmo se eles estiverem funcionando corretamente. Quanto mais isolado os testes acontecerem, melhor, fica mais fácil de debugar e encontrar a origem dos problemas.
O ideal é usar um Travis, CircleCI, etc pra fazer os testes, além de que isso permite testar diferentes configurações simultaneamente e falhar de forma mais branda para casos de linting por exemplo.
Se vocês ou o @kevenleone implementarem os testes eu posso fazer essas coisas de CI (no Travis, que eu ja manjo), só deem um ping em mim.
from brasilapi.
Showwww @kevenleone Qualquer contribuição é bem vinda e, sendo aprovada ou não, estamos num estágio agora de projeto que quanto mais alternativas tivermos de código aplicado em mãos para conseguir comparar e conversar, melhor! 😍 👍
from brasilapi.
Perguntei lá no chat: https://spectrum.chat/zeit/general/how-to-properly-e2e-test-using-next-js-and-now-auto-deploy-to-a-branch~9c3881f7-2cfb-4b2c-b89f-bda512cb6ab2
from brasilapi.
Dúvida: Qual seria a vantagem de testar apontando pra uma URL remota contra subir localmente e testar no próprio CI? 🤔
O trecho da resposta do Paulo (ele é brasileiro e mega sangue bom 😬) está contido em https://zeit.co/docs/v2/git-integrations/zeit-now-for-github na seção Extending Your GitHub Workflow
Eu tava pensando e talvez a gnt consiga inclusive fazer um test durante o build-step no Now.
O Now usa o script build
do package.json
para buildar uma versão, se esse script falhar a integração irá falhar e o build não vai prosseguir. 🤔
Uma forma de usar isso a nosso favor é fazer tipo:
"build": "npm test && next build",
Será que funciona? 🤔
from brasilapi.
Show mestre!! 🤘
(eu to um pouquinho agarrado no trampo essa última semana e nessa, mas já já consigo um tempo pra focar nesse projeto ❤️)
from brasilapi.
Show!! Zero necessidade de correria nesse projeto @lucianopf vamos degustar ele com calma 😍
from brasilapi.
@mukaschultze muito obrigado por entrar na conversa meu caro 🤝 👍
Tem um problema nisso, se o ambiente de produção for modificado e quebrar algo todos os PRs vão começar a acusar erro,
Excelente ponto! Mas na verdade já vi ao contrário, o ambiente de staging quebrar e o ambiente de produção estar funcionando corretamente. O que eu gostaria de forçar o ambiente da ZEIT por que lá não existe diferença no ambiente de Staging e Production, a única diferença que eu percebo é a tag, a classificação, pois é exatamente a mesma infraestrutura, o que muda é o apontamento do DNS. A URL de "staging" é tão produção quanto a URL de "production".
Então apesar de eu me preocupar com diferenças entre ambientes, eu queria testar exatamente isso na infra da ZEIT, que não há diferença.
Agora, uma preocupação interessante e relacionada a isso é se um endpoint depende de um serviço externo e esse serviço modificar a interface ou quebrar.
O que me fez pensar em outra coisa MUITO IMPORTANTE que acabei de criar uma issue para isso: https://github.com/filipedeschamps/BrasilAPI/issues/12
from brasilapi.
Um caso importante (porém bastante isolado por se tratar de uma feature em beta) mas que mostra como é possível ter diferenças entre um ambiente local e remoto: vercel/next.js#10598
Por se tratar de uma infraestrutura nova para nós, continuo achando mega importante testarmos o E2E com a URL de preview. Eu to fazendo uma versão desses testes com Jest, ta ficando bem legal e vai servir como comparação/discussão do PR https://github.com/filipedeschamps/BrasilAPI/pull/27 To na marcha lenta por conta do canal mas acho que vai funcionar certinho. Se estiver local, ele testa local, se estiver num PR ele pega a URL do preview 👍
from brasilapi.
Related Issues (20)
- Bloqueio de IP HOT 2
- Padronização response api /taxas HOT 2
- Dicionário PT-BR HOT 1
- Api CPTEC de busca de cidade pelo nome retorna erro quando se passa o nome completo da cidade HOT 2
- Eslint issues
- Retorno 'undefined' quando informação 'não se aplica' (N/A) HOT 2
- API das corretoras retorna 500
- CEP sem geolocalização HOT 2
- Consultar ANTT por API HOT 2
- Chegando para contribuir... HOT 1
- Unit and e2e tests HOT 3
- Erro alguns CEPs região 37 HOT 3
- Erro 500 na API de CEP V2 ao realizar consulta HOT 17
- Lista de feriados por estado
- Timeout na execução dos Testes E2E HOT 4
- Service error na api de cep v1 HOT 7
- Dólar comercial (venda e compra) HOT 1
- projeto tá ativo?
- Novo feriado nacional
- API para Inscrição Estadual das Pessoas Jurídicas
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from brasilapi.