@frete.com/architecture-test-api
v2.1.5
Published
CLI para construção de projetos de testes automatizados de API baseados em uma arquitetura de referência definida pelo de time de Qualidade da Frete.com
Maintainers
Readme
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 projetoInstalação
Pré-requisitos
- Node >=15
- NPM
Instalar
npm i -g @frete.com/architecture-test-apiCriar um Novo Projeto
Para inicializar um projeto com a arquitetura proposta, crie uma pasta vazia e execute:
architecture-test-api createResponda à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.
