As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurando testes end-to-end Cypress para seu aplicativo Amplify
Você pode executar testes end-to-end (E2E) na fase de teste do seu aplicativo Amplify para capturar regressões antes de enviar o código para produção. A fase de teste pode ser configurada na especificação de construçãoYAML. Atualmente, é possível executar apenas a estrutura de teste do Cypress durante uma compilação.
O Cypress é uma estrutura de teste JavaScript baseada que permite executar testes E2E em um navegador. Para ver um tutorial que demonstra como configurar testes E2E, consulte a postagem do blog Executando testes end-to-end Cypress para sua implantação completa de CI/CD com o Amplify.
Adicionando testes Cypress a um aplicativo Amplify existente
É possível adicionar testes Cypress a um aplicativo existente atualizando as configurações da compilação do aplicativo no console do Amplify. A especificação de compilação YAML contém uma coleção de comandos de compilação e configurações relacionadas que o Amplify usa para executar sua compilação. Use a etapa test
para executar qualquer comando de teste no momento da compilação. Para testes E2E, o Amplify Hosting oferece uma integração mais profunda com o Cypress, que permite gerar um relatório de interface do usuário para seus testes.
A lista a seguir descreve as configurações do teste e como elas são usadas.
- preTest
-
Instale as dependências necessárias para executar os testes do Cypress. O Amplify Hosting usa o mochawesome
para gerar um relatório para visualizar os resultados do teste e aguardar a configuração do servidor localhost durante a compilação. - teste
-
Execute comandos cypress para realizar testes usando mochawesome.
- postTest
-
O relatório mochawesome é gerado a partir da saída. JSON Observe que, se você estiver usando o Yarn, deverá executar esse comando no modo silencioso para gerar o relatório mochawesome. Para Yarn, é possível usar o seguinte comando:
yarn run --silent mochawesome-merge cypress/report/mochawesome-report/mochawesome*.json > cypress/report/mochawesome.json
- artefatos> baseDirectory
O diretório a partir do qual os testes são executados.
- artefatos> configFilePath
Os dados do relatório de teste gerados.
- artifacts>files
Os artefatos gerados (capturas de tela e vídeos) estão disponíveis para download.
O exemplo a seguir, trecho de um arquivo amplify.yml
de especificação de compilação mostra como adicionar testes Cypress ao seu aplicativo.
test: phases: preTest: commands: - npm ci - npm install -g pm2 - npm install -g wait-on - npm install mocha mochawesome mochawesome-merge mochawesome-report-generator - pm2 start npm -- start - wait-on http://localhost:3000 test: commands: - 'npx cypress run --reporter mochawesome --reporter-options "reportDir=cypress/report/mochawesome-report,overwrite=false,html=false,json=true,timestamp=mmddyyyy_HHMMss"' postTest: commands: - npx mochawesome-merge cypress/report/mochawesome-report/mochawesome*.json > cypress/report/mochawesome.json - pm2 kill artifacts: baseDirectory: cypress configFilePath: '**/mochawesome.json' files: - '**/*.png' - '**/*.mp4'
Desativando testes para um aplicativo ou ramificação do Amplify
Depois que a configuração de teste for adicionada às suas configurações da compilação amplify.yml
, a etapa test
será executada em cada compilação, em cada ramificação. Se você quiser desabilitar globalmente a execução de testes ou executar testes apenas para ramificações específicas, você pode usar o USER_DISABLE_TESTS variável de ambiente sem modificar suas configurações de compilação.
Para desativar globalmente os testes para todas as filiais, adicione o USER_DISABLE_TESTS variável de ambiente com um valor de true
para todas as filiais. A captura de tela a seguir mostra a seção Variáveis de ambiente no console do Amplify com os testes desativados para todas as ramificações.
Para desativar os testes para uma ramificação específica, adicione o USER_DISABLE_TESTS variável de ambiente com um valor de false
para todas as ramificações e, em seguida, adicione uma substituição para cada ramificação que você deseja desativar com um valor detrue
. Na captura de tela a seguir, os testes são desativados na ramificação principal e habilitados para todas as outras ramificações.
A desativação dos testes com essa variável fará com que a etapa de teste seja totalmente ignorada durante uma compilação. Para reativar os testes, defina esse valor como ou exclua a variável de ambiente false
.