Projeto com testes de API utilizando Node.js
Testes sobre API da Marvel utilizando Node.js com framework como Mocha e Chaijs com suporte para execução dos testes com Docker.
Ferramentas para uso do projeto conforme a intenção de utilização do mesmo.
-
Chaves de acesso API da Marvel
- Para executar os testes será necessário informar as chaves pública e privada de sua Conta Marvel.
- Nos testes a chave pública e privada serão representadas pelas variáveis
PUBLIC_KEY
ePRIVATE_KEY
respectivamente.
-
Git
- Download e instalação.
- Pré-requisito caso a intenção seja baixar o projeto via
clone
e/ou contribuir com o projeto.
-
Node.js : v12+
- Download e instalação. Caso não utilize este link para instalação, garanta também a instalação do NPM para gerenciar as dependências do projeto.
- Pré-requisito caso a intenção seja executar instalar as dependências do projeto e executar as tarefas do projeto utilizando Node.js.
-
Docker
- Download e instalação
- Pré-requisito caso a intenção seja executar os testes via Docker.
- Baixe o projeto em sua máquina.
- Acesse o diretório raiz do projeto via terminal, o diretório raiz contém o arquivo
package.json
- Instale as dependências do projeto:
npm install
- Execute a auditoria sobre as dependências para verificar itens de segurança:
npm audit
- Execute a análise estática de código:
npm run lint
- Execute o teste:
PUBLIC_KEY=<chave pública conta marvel> PRIVATE_KEY=<chave privada conta marvel> npm run test
- Crie a imagem docker com o projeto e suas dependências já com verificação do audit e análise estática do código:
docker build --target build -t test-api .
- Execute os testes com a imagem Docker criada:
docker run --name api-test -e PUBLIC_KEY=<chave pública conta marvel> -e PRIVATE_KEY=<chave privada conta marvel> --rm -v <caminho absoluto do diretório raiz do projeto>/output:/test/output test-api
-
Durante a execução dos teste é possível acompanhar o log no terminal que foi executado
-
Após execução dos teste é possível ver o resultado em um arquivo HTML localizado no diretório
./output
com o nometest-results.html
, então basta abri-lo com seu navegador web.