O ESM Forum possui alguns testes end-to-end, também conhecidos como testes de frontend ou testes de sistema. Para mais informações, consulte o Capítulo 8. Veja também o seguinte diagrama, por meio do qual tentamos mostrar que esses testes cobrem todo o código do sistema.
flowchart LR
BD[(BD)]
subgraph Testes E2E
Frontend <--> Controlador
subgraph backend
Controlador <--> Modelo
Modelo <--> BD
end
end
Para entender melhor, você pode comparar o diagrama acima com o diagrama análogo para testes de integração.
Atualmente, o ESM Forum possui um teste end-to-end, implementado no seguinte arquivo.
- spec2.js: testa o cadastro de uma pergunta.
-
Primeiro, você deve instalar o Cypress, conforme descrito aqui.
Veja que você pode instalar o Cypress como um pacote do npm/node.js. Ou então, pode instalar uma versão nativa do seu sistema operacional, conforme descrito aqui. Essa segunda alternativa pode ser mais simples e rápida, caso não tenha experiência com npm e node.js
-
Em seguida, execute o Cypress (por exemplo, clicando em
cypress.exe
, caso tenha feito uma instalação local). -
Então, você vai ter que abrir o projeto Cypress que está no seguinte diretório do ESM Forum:
testes/e2e
Ou seja, informe o diretório acima para o Cypress. Para ter certeza de que está informando o diretório correto, ele é o diretório que possui o arquivo
cypress.config.js
. -
Depois, abra o projeto criado pelo Cypress e informe que deseja executar testes E2E, usando o browser Chrome.
-
O Cypress vai abrir uma tela com os testes existentes, no nosso caso apenas
spec.cy.js
. Você poderá então executar esse teste e ver o seu resultado.
Implemente um segundo teste end-to-end para testar o cadastro de uma resposta. Implemente esse teste em um arquivo chamado spec2.cy.js
.