Skip to content

Latest commit

 

History

History
155 lines (93 loc) · 4.39 KB

README.md

File metadata and controls

155 lines (93 loc) · 4.39 KB

SUPERTEST-FOR-STUDIES

QA CI ServeRest API


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


Tabela de contexto

Índice README.


Pré Requisitos

Configuração

  • Criar ou usar o arquivo package.json para baixar/instalar suas dependências

Instalação

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

Como Testar

Para rodar os testes -localmente-:
  • 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

OBSERVAÇÃO:

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 rodar os testes em ambiente de -desenvolvimento-:

Para limpar e instalar as dependências do projeto

npm run simple_build

Para rodar todos os testes em paralelo

npm test

Reporte

Rodar testes e visualizar reporte gerado

npm run test:<microserviço/API>-report

Suporte


Licença

License