Olá pandolfos(as)!
Tempos atrás eu estava automatizando alguns testes em um projeto pessoal, cujo tive contato com uma lib chamada cypress-select-tests.
Basicamente, essa lib permite executar os testes baseado em Tags, o que facilita muito quando você quer executar apenas alguns testes que contenham determinada tag.
Até aí legal né? Porém, o que essa lib e tampouco o cypress em si não permitem, é rodar múltiplas tags ao mesmo tempo.
Eis vos deixo a mágica!
- Instalar a lib cypress-select-tests em seu projeto.
npm install --save-dev cypress-select-tests
No seu projeto, abra o arquivo index.js que está dentro do diretório cypress/plugins e coloque o código abaixo.
Nos seus testes, inclua suas tags. No nosso caso, vamos usar as tags @contract e @healthcheck.
- Feitas as configurações, basta executar o comando abaixo para que seus testes sejam executados conforme as tags selecionadas:
Note que não há espaço na separação das tags. Se tiver, ocorrerá um erro no console Cannot read property 'split' of undefined.
No meu projeto, o resultado foi conforme a imagem abaixo.
Se notarmos, na minha spec booking.spec.js eu tenho 9 testes, sendo que destes, apenas 1 passou e o restante foi ignorado, visto que não possuem a tag @contract.
Na minha segunda spec ping.spec.js, eu tenho 6 testes, sendo que destes, apenas 1 passou e o restante foi ignorado, visto que não possuem a tag @healthcheck.
É isso pessoal, espero que ajude vocês!
Who am I?: Renato O. Nunes.
Who helped me?: Denis Fevereiro, Samuel Lucas
Top comments (4)
É exatamente o que preciso, muito obrigado.
Parabéns pela publicação e obrigado por compartilhar o conhecimento.
Valeu @hjcardoso !!
Super dica. Obrigado e parabéns, Renato.
Valeu Fernando!!