Skip to content

CLI para construção de projetos de testes automatizados de API baseados em uma arquitetura opiniativa definida pelo time de Qualidade da Fretebras.

License

Notifications You must be signed in to change notification settings

frete-com/architecture-test-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aqui está o conteúdo formatado no estilo de um README.md:

CLI Architecture API

Proposta de estrutura arquitetural padronizada para desenvolvimento de projetos de testes automatizados de APIs por frete.com


Arquitetura

Tecnologias Utilizadas

  • Allure-Mocha: Integração com a ferramenta Allure TestOps para gerenciamento de casos de teste e relatórios avançados.
  • Chai: Framework para assertivas em testes nos formatos BDD/TDD.
  • Dotenv: Gerenciamento de variáveis de ambiente de forma segura.
  • ESLint: Ferramenta para padronização e validação de código JavaScript.
  • Faker.js: Geração de dados simulados com padrões válidos.
  • Joi: Validação de esquemas de dados.
  • Mocha: Framework de testes para escrita (ex.: describe, it) e execução de cenários.
  • Mochawesome: Gerador de relatórios visualmente ricos para testes baseados no Mocha.
  • MongoDB: Suporte para conexões e operações em bancos NoSQL.
  • MySQL2: Suporte para conexões e operações em bancos relacionais MySQL.
  • Prettier: Ferramenta opinativa para formatação consistente do código.
  • Supertest: Abstração de alto nível para testes HTTP.

Estrutura de Diretórios

📂 nome-servico-api-test/
├── 📂 core/
│   ├── 📂 routes/          # Chamadas de rotas da API
│   └── 📂 tests/           # Suítes e cenários de teste por rota
├── 📂 support/
│   ├── 📂 data/
│   │   ├── 📂 request/     # Requests bodies
│   │   ├── 📂 response/    # Responses bodies
│   │   │   └── 📂 schema/  # Validações de responses dinâmicos
│   │   └── 📂 database/    # Conexões e queries de banco
│   │       ├── 📂 mongodb/ # Conexões e operações MongoDB
│   │       └── 📂 mysql/   # Conexões e operações MySQL
│   ├── 📂 env/             # Gerenciamento de variáveis de ambiente
│   └── 📂 helpers/         # Funções utilitárias e configurações fixas
├── 📄 .env                 # Variáveis de ambiente
├── 📄 .env.example         # Exemplo de configuração de variáveis
├── 📄 .eslintignore        # Configurações ignoradas pelo ESLint
├── 📄 .eslintrc            # Configuração do ESLint
├── 📄 .gitignore           # Configuração de exclusão do Git
├── 📄 .gitlab-ci.yml       # Configuração de pipelines CI/CD
├── 📄 .mocharc.json        # Configuração do Mocha
├── 📄 package.json         # Metadados e dependências do projeto
├── 📄 prettier.config.cjs  # Configuração do Prettier
└── 📄 README.md            # Documentação do projeto

Instalação

Pré-requisitos

  • Node >=15
  • NPM

Instalar

npm i -g @frete.com/architecture-test-api

Criar um Novo Projeto

Para inicializar um projeto com a arquitetura proposta, crie uma pasta vazia e execute:

architecture-test-api create

Responda às perguntas interativas para configurar o projeto.

Changelog

Consulte o CHANGELOG para obter mais informações sobre o histórico de alterações do projeto.

About

CLI para construção de projetos de testes automatizados de API baseados em uma arquitetura opiniativa definida pelo time de Qualidade da Fretebras.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published