PHPSP / phpsp.org.br

PHPSP Website

Home Page:https://phpsp.org.br

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

  1. Existem dois deployments configurados: deploy preview e dev- deploy preview, porém ambos executam o mesmo arquivo netlify.toml

  2. A entrada command do arquivo netlify.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.

@nawarian agora que temos o setup, o que acha de recuperar o PR #42 e colocar no CircleCI?