[javascript] Mocha로 JavaScript 테스트-console.log를 사용하여 테스트를 디버그하려면 어떻게해야합니까?

자바 스크립트 테스트 러너 “모카”를 사용하고 있습니다.

실패한 테스트가 있으므로 다음을 사용하여 디버깅합니다. console.log .

그러나 테스트가 실행되면 출력이 없습니다 (모카의 테스트 결과 만). 모카가 내console.log 출력을 !

Mocha가 내 출력물을 표시하도록하려면 어떻게해야합니까? (실패한 테스트의 경우)?

편집하다:

큰 사과! — console.log테스트 중에 작동합니다! 나는 그것이 출력을 억제 할 것으로 예상하고 있었음에 틀림 없었고, 내 자신의 코드를 제대로 확인하지 않았다. 응답 해 주셔서 감사합니다. 그래서 … 그 말은 … 실제로 통과 한 테스트의 출력을 억제하는 것이 좋을까요? 흠 …

관련 메모에서 : console.logEclipse 디버거를 node.js에 연결하는 데 많은 문제가 있기 때문에 사용하고 싶습니다.

이것이 까다로운 사람은 나뿐입니까? 여러분들은 node.js를 어떻게 디버그합니까? 디버거를 사용하거나 console.log문을 사용합니까?



답변

어떤 모카 옵션을 사용하고 있습니까?

리포터 (-R) 나 ui (-ui)를 사용하는 것과 관련이있는 것일까 요?

console.log(msg);

테스트 실행 중에 잘 작동하지만 때로는 약간 구피가 섞여 있습니다. 아마도 테스트 실행의 비동기 특성 때문일 것입니다.

사용중인 옵션 (mocha.opts)은 다음과 같습니다.

--require should
-R spec
--ui bdd

흠 .. mocha.opts없이 테스트했지만 console.log여전히 작동합니다.


답변

비동기 코드를 테스트하는 경우 done()해당 비동기 코드의 콜백에 배치해야 합니다. REST API에 대한 http 요청을 테스트 할 때 그 문제가 발생했습니다.


답변

console.log실패하고 잡히지 않는 기대치를 뒤에 넣었을 수도 있으므로 로그 라인이 실행되지 않습니다.


답변

디버그 라이브러리를 사용하십시오 .

import debug from 'debug'
const log = debug('server');

그걸 써:

log('holi')

그런 다음 실행하십시오.

DEBUG=server npm test

그리고 그게 다야!


답변