Controlando o tempo no mocha

Tudo na vida tem um contexto e seus testes não são uma exceção. =)

Eu acho o mocha simplesmente foda, tenho utilizado ele em praticamente todos os projetos com que tenho desenvolvido e tem me atendido bem.

Hoje me deparei com algo que até agora não tinha me deparado: especificar o timeout para um teste ou um grupo de testes. O pessoal que também pega projetos fora trabalho sabe daquelas frases quase default “as requisições devem ser respondidas em até x segundos” e por ae vai.

O mocha por padrão tem 2 segundos para falhar um teste por timeout, digamos que voce vá enviar um e-mail pelo nodemailer, então criamos um teste que envia um e-mail via SMTP pelo Gmail apenas para verificar se está tudo ok com a lib:

Estourando o teste por timeout. =(

Como estamos dependendo de algo que não está sob nosso controle ( neste caso Gmail ), vamos ajustar para 5 segundos:

Ajustando o timeout para 5 segundos.

Testando novamente ( repare que o mocha ainda deixa claro que o teste passou acima do limite default dele ):

Agora sim. =)

Voce também pode ao invés de colocar no seu JS o timeout pode colocar na chamada do mocha, por exemplo: mocha —timeout 15000 .

Espero que isso seja útil para voce também. ☺

Abraço!

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.