Aqui está o conteúdo formatado no estilo de um README.md:
Proposta de estrutura arquitetural padronizada para desenvolvimento de projetos de testes automatizados de APIs por frete.com
- 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.
📂 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
- Node >=15
- NPM
npm i -g @frete.com/architecture-test-api
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.
Consulte o CHANGELOG para obter mais informações sobre o histórico de alterações do projeto.