Testes de integração no PHPSP
nawarian opened this issue · comments
Como pode-se notar pelos PRs #41 e #42 andei fazendo alguns testes para adicionar uma suíte de integração com Behat ao site do PHPSP.
Estou enfrentando dificuldades ao executar os testes contra o deployment no contexto preview
:
-
Existem dois deployments configurados:
deploy preview
edev- deploy preview
, porém ambos executam o mesmo arquivonetlify.toml
-
A entrada
command
do arquivonetlify.toml
me permite alterar o comando de build, portanto só é possível executar o teste de integração após o segundo build: Durante o primeiro build não existe nenhuma versão disponível na URL de preview, fazendo com que os testes quebrem.
Por definição a fase de build
não é a melhor para executar testes de integração. Penso que uma solução com Webhooks entre Github e Netlify seria uma saída plausível.
Alguma ideia?
Não é lá muito uma ideia, apenas colocando aqui o motivo de ter os dois "ambientes".
Um era para ter previews dos MR que tem como target a master e o outro as que tem cmo target develop.
Mas já que a gente deixou de lado a branch develop seria natural ter apenas um deploy (e decidir se queremos que seja o dev-
ou não.
Sobre o teste de integração, o "ideal" seria que ele rodasse depois que o netlify contruiu o site, num estágio seguinte da "pipeline".
Eu gosto da ideia de remover a build dev-
e manter somente o preview normal...
E concordo com a questão de botar o teste pra rodar depois de o netlify buildar o site. A questão é: que meios a gente tem pra desenvolver isso?
Precisamos usar o netlify pra isso? Por mim configuramos um travis/circleci e rodamos nele mesmo. Habilitamos branch protection no github pra garantir que os testes passaram e pronto. Como nunca vai cair na master sem testes, não vai ser feito o deploy do netlify. Não precisa usar ele pra isso.
O que acham?
Se quiserem posso configurar.
O Netlify faz o preview "out of the box", acho que não tem muito pq desabilitar isso. É mais uma forma de validar que as mudanças não quebram nada (e que elas inclusive fazem o que deveriam fazer) antes de dar o merge. Com ou sem testes.
E ter o CircleCI, Travis e tudo mais eu vejo como um "plus a mais" que vem pra somar.