programing

Mocha로 Javascript 테스트 - console.log를 사용하여 테스트를 디버깅하려면 어떻게 해야 합니까?

yoursource 2023. 7. 26. 22:58
반응형

Mocha로 Javascript 테스트 - console.log를 사용하여 테스트를 디버깅하려면 어떻게 해야 합니까?

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

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

그러나 검정을 실행하면 출력이 없습니다(Mocha의 검정 결과만).모카가 나를 사로잡아 억압한 것 같습니다.console.log출력!

어떻게 하면 모카가 내 출력물을 보여줄 수 있습니까?(실패한 테스트의 경우)?

편집:

대단히 죄송합니다!console.log테스트 중에 작동합니다!출력이 억제될 것으로 예상하고 있었고, 제 코드를 제대로 확인하지 못했습니다.응답해 주셔서 감사합니다.그러니까... 그 말은...어쩌면 실제로 합격한 테스트의 출력을 억제하는 것이 좋을까요?음...

관련 노트:사용하고 싶습니다.console.log왜냐하면 이클립스 디버거를 node.js에 연결하는 데 많은 문제가 있기 때문입니다.

이것을 까다롭게 생각하는 사람은 나뿐입니까?어떻게 node.js를 디버깅합니까?디버거와 함께 또는console.log진술서?

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

혹시 리포터(-R)나 ui(-ui)가 사용되는 것과 관련이 있는 것은 아닐까요?

console.log(msg);

테스트 실행 중에는 잘 작동합니다. 가끔 약간 바보같기도 하지만요.아마도 테스트 실행의 비동기성 때문일 것입니다.

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

--require should
-R spec
--ui bdd

흠.. 그냥 모카 없이 테스트를 해봤어요. 옵스 그리고.console.log여전히 작동합니다.

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

당신은 또한 당신의 것을 넣었을지도 모릅니다.console.log로그 라인이 실행되지 않도록 예상이 실패하고 잡히지 않은 후에 실행됩니다.

나는 문제가 있었습니다.node.exe테스트 출력과 같은 프로그램mocha.

저의 경우에는 기본 "node.exe" 별칭을 제거하여 해결했습니다.

Windows용 Git Bash(2.29.2)를 사용하고 있으며 일부 기본 별칭은/etc/profile.d/aliases.sh,

  # show me alias related to 'node'
  $ alias|grep node
  alias node='winpty node.exe'`

별칭을 제거하려면, 업데이트aliases.sh아니면 간단히 하라.

unalias node

왜인지 모르겠다.winpty에 이 부작용이 있습니다.console.info버퍼링되지만 직접 출력node.exe사용, 저는 더 이상 stdout 문제가 없습니다.

debug lib를 사용합니다.

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

사용:

log('holi')

그런 다음 실행:

DEBUG=server npm test

그게 다야!

언급URL : https://stackoverflow.com/questions/10666349/testing-javascript-with-mocha-how-can-i-use-console-log-to-debug-a-test

반응형