Utilizando mocks em csv para simular diversos cenários possiveis.
Utilizando stubs para substituir algum comportamento do sistema por objetos estáticos.
Utilizado spies para monitorar o comportamentos de funções. Muito importante para lógicas recusivas e lógicas complexas de parada.
Utilizando Mocha e Supertest para criar testes E2E e Stambu (nyc) para fazer o coverage.
Utilizando o um seeder para gerar uma base de dados fake com o faker, o modulo shai para que o BDD fiquei semântico que o assert do node. Modificando o sistema de datas do JS para interceptar valores via Sinon para impedir que datas sejam criadas de maneira inesperadas.