Já pensou como seria testar sua api sem utilizar frameworks? Eu me perguntei isso após assistir um vídeo do Erick Wendel e caso tenha curiosidade em saber como ficaria, aqui está um exemplo!
Clone com git
git clone https://github.com/davisonalves/testing-without-frameworks.git
Instale as depedências da API a ser testada:
cd serverest
npm install
Ainda na pasta serverest, inicie a api:
npm run dev
Na pasta raiz do projeto ⬇️
Carregue o arquivo ".env" com:
source .env
Em seguida, rode o seguinte comando:
npm run test
Se tudo deu certo, você deve ver algo semelhante com isso:
Apesar de gostar da ideia, pude ver o quanto os frameworks nos ajudam no dia a dia aumentando nossa produtividade, gastei boa parte do meu tempo nas funções que deixei na pasta utils para tentar deixar meus testes dinâmicos sem o uso do faker ou chance e ainda faltou validar os schemas da api de forma mais assertiva como o joi faria, acabei fazendo apenas o basico no arquivo contract.test.js utilizando typeof de cada propriedade. Também quero comentar sobre o report do terminal, poderia utilizar tap-spec para deixar algo mais bonito como Erick fez em seu vídeo, mas quis muito ver meu package.json sem depedências ahahahah
Conheci o testrunner do node e apesar de não estar perfeito, não dei falta de nada essencial e pude realizar meus testes normalmente com muita velocidade, o uso do fetch deixou minhas requisições super fáceis ao ponto de refletir se preciso mesmo do supertest em minhas automações para testes de api. O Assert é legalzinho, mas imagino que seja mais útil para testes unitários, contudo foi legal conhecê-lo.