Estou usando o executor de teste javascript "Mocha".
Eu tenho um teste que está falhando, então gostaria de depurá-lo usando console.log
.
Mas quando os testes são executados, não há saída (apenas os resultados do teste do Mocha). Parece que Mocha capturou e suprimiu minha console.log
saída!
Como posso fazer com que o Mocha mostre minha saída? (em para testes que falham)?
EDITAR:
Grandes desculpas! - console.log
funciona durante os testes! Devo ter esperado que ele suprimisse a saída e não verifiquei corretamente meu próprio código. Obrigado por responder. Então ... dito isso ... talvez seja realmente bom suprimir a saída de testes que passam? Hmm...
Em uma nota relacionada: eu quero usar console.log
porque estou tendo muitos problemas ao tentar fazer com que o depurador Eclipse se conecte ao node.js.
Eu sou o único que acha isso complicado? Como vocês debugam o node.js? Com um depurador ou com console.log
instruções?
fonte
Respostas:
Quais opções de Mocha você está usando?
Talvez tenha a ver com o uso de repórter (-R) ou ui (-ui)?
funciona bem durante minhas execuções de teste, embora às vezes misturado a um pouco bobo. Presumivelmente, devido à natureza assíncrona da execução do teste.
Aqui estão as opções (mocha.opts) que estou usando:
Hmm .. acabei de testar sem qualquer mocha.opts e
console.log
ainda funciona.fonte
Se você estiver testando código assíncrono, certifique-se de colocar
done()
no retorno de chamada desse código assíncrono. Tive esse problema ao testar solicitações de http para uma API REST.fonte
Você também pode ter colocado seu
console.log
after uma expectativa que falha e não é capturada, de forma que sua linha de log nunca seja executada.fonte
Use a biblioteca de depuração .
Use-o:
então corra:
E é isso!
fonte