[javascript] Mocha로 JavaScript 테스트-console.log를 사용하여 테스트를 디버그하려면 어떻게해야합니까?
자바 스크립트 테스트 러너 “모카”를 사용하고 있습니다.
실패한 테스트가 있으므로 다음을 사용하여 디버깅합니다. console.log
.
그러나 테스트가 실행되면 출력이 없습니다 (모카의 테스트 결과 만). 모카가 내console.log
출력을 !
Mocha가 내 출력물을 표시하도록하려면 어떻게해야합니까? (실패한 테스트의 경우)?
편집하다:
큰 사과! — console.log
테스트 중에 작동합니다! 나는 그것이 출력을 억제 할 것으로 예상하고 있었음에 틀림 없었고, 내 자신의 코드를 제대로 확인하지 않았다. 응답 해 주셔서 감사합니다. 그래서 … 그 말은 … 실제로 통과 한 테스트의 출력을 억제하는 것이 좋을까요? 흠 …
관련 메모에서 : console.log
Eclipse 디버거를 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
그리고 그게 다야!