Repositório com exemplos de teste automatizado para API utilizando os frameworks: supertest, mocha e chai
O SuperTest vem para fornecer uma abstração de alto nível para testar HTTP: CONHECER SUPERTEST
Nota: Incluímos a lib Joi para testarmos os schemas e realizarmos testes de contrato deixando o repositório mais completo
O Joi é a linguagem de descrição de schema mais poderosa e o validador de dados para JavaScript: CONHECER JOI
Índice
README
.
- Criar ou usar o arquivo package.json para baixar/instalar suas dependências
Clonar projeto
- Clonar localmente em sua máquina usando ssh ou https, por exemplo:
git clone https://github.com/uLucasFraga/supertest_for_studies.git
- Instalar todas as dependências via package.json, por exemplo:
cd /raiz_do_seu_projeto
npm run simple_build
Dicas
- Utilize de forma versionada o seu package.json para instalar as dependências do seu projeto
- Criar um arquivo
.env
na raiz do projeto e inserir valores válidos - Seguir o padrão pré estabelicido no arquivo
.env.example
Os valores estarão com o usuário que já tenha testado este repositório anteriormente.
exemplo:
APP_URL=url_valida
TOKEN=token_valido
EMAIL=email_valido
PASSWORD=password_valido
Subir servidor_rest para realizar os testes
npm run start:server
Rodar testes
npm test
Para limpar projeto, instalar as dependencias e rodar todos os testes
npm run i:tests
Para rodar um conjunto individual de testes
npm run test:<microserviço> ou <API>
exemplos:
test:{sua_tag} - para rodar alguns testes que contenham a tag {@sua_tag}
test:integrations - para rodar os testes de integração
test:contracts - para rodar todos os testes de contrato
test:contracts:produtos - para rodar os testes de contrato da API de produtos
test:integrations:produtos - para rodar os testes de integração da API de produtos
test:integrations:report - para rodar os testes de integração e gerar um reporte
test:contracts:report - para rodar os testes de contrato e gerar um reporte
Por ser um repositório para testarmos alguns microserviços, foi elaborada uma configuração para executá-los de forma individual. Por isso, podemos incluir diferentes scprits para utilizarmos em diferentes projetos via CI.
Para limpar o projeto:
npm run clean
Para limpar e instalar as dependências do projeto
npm run simple_build
Para stopar/terminar o servidor_rest
npm run stop:server
Para limpar e instalar as dependências do projeto
npm run simple_build
Para rodar todos os testes em paralelo
npm test
Rodar testes e visualizar reporte gerado
npm run test:<microserviço/API>-report
-
Twitter at
@ulucasfraga
-
Facebook at
my_facebook
-
Linkedin at
my_linkedin
-
E-mail:
[email protected]
-
Skype:
live:lucass.fragaa
- MIT license
- Copyright 2021 © Lucas Fraga.