mocha의 --debug-brk 스위치로 노드 디버거를 활성화하는 올바른 방법은 무엇입니까?
테스트중인 모듈에 몇 가지 디버거 문이 있고 --debug-brk 세트로 mocha를 실행하고 중단 점에 도달하여 모듈의 상태를 검사 할 수 있습니다. 불행히도이 옵션으로 모카를 실행할 때마다 다음 줄에 빈 커서가 생깁니다. 텍스트를 입력 할 수 있지만 명령을 처리하는 것처럼 보이는 것은 없습니다 (확실히 노드 디버거처럼 보이지 않음).
$ mocha --debug-brk tests.js -R spec
debugger listening on port 5858
[BLANK CURSOR]
모카 런칭 방식에 문제가 있습니까?
원래 질문에 답하려면 다음을 살펴볼 것을 제안합니다 . 또는 플래그 대신 옵션을 사용 node-inspector
하여 mocha를 통해 노드에 내장 된 CLI 디버거를 사용할 수 있습니다 . (대시가 없음에 유의하십시오.)debug
--debug
--debug-brk
귀하의 예에서는 대신 다음과 같습니다.
$ mocha debug tests.js -R spec 포트 5858에서 수신 대기하는 디버거 연결 중 ... 좋아요 node_modules / mocha / bin / _mocha : 7에서 중단 5 * / 6 7 var 프로그램 = require ( 'commander') 8, sprintf = require ( 'util'). format 9, 경로 = require ( 'path') 디버그> [CURSOR]
다시 말하지만, debug
위와 같이 굵은 글씨로 대시가 없습니다. (=
관련 : https://github.com/visionmedia/mocha/issues/247
최신 버전의 nodejs ( > = v6.3.0 ) 및 mocha ( > = 3.1.0 )를 사용하면 V8 검사기 통합을 사용할 수 있습니다 .
V8 Inspector 통합을 통해 디버깅 및 프로파일 링을 위해 Chrome DevTools를 Node.js 인스턴스에 연결할 수 있습니다.
용법
--inspect
V8 검사기 통합을 활성화 --debug-brk
하고 시작 부분에 중단 점을 추가합니다. nodejs v7.6.0 및 mocha v3.3.0 이후로 --inspect-brk
약어를 사용할 수 있습니다.--inspect --debug-brk
$ mocha --debug-brk --inspect
Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
chrome-devtools://devtools/remote/serve_file/@62cd277117e6f8ec53e31b1be58290a6f7ab42ef/inspector.html?experiments=true&v8only=true&ws=localhost:9229/node
npm 스크립트 사용
mocha를 사용하는 npm 테스트 스크립트가있는 경우 옵션 구분 기호 의 끝을 사용하여 npm에서 mocha 스크립트로 옵션을 전달할 수 있습니다 --
.
$ npm test -- --inspect --debug-brk
크롬 팁
매번 URL을 복사하여 붙여 넣는 대신 chrome://inspect
"원격 대상"섹션으로 이동 하여 해당 링크를 클릭하십시오.
node-inspector를 사용하여 이것을 작동시킬 수있었습니다 . 하나의 셸에 표시된 것처럼 테스트를 실행합니다.
mocha --debug-brk mocha/test.js
그런 다음 두 번째 셸에서 node-inspector를 실행합니다.
node-inspector
Node-inspector가 브라우저에서 뱉어 낸 URL을 가져 오면 웹 검사기로 디버깅 할 수 있습니다.
http://127.0.0.1:8080/debug?port=5858
node-insector가 설치되어 있다면 실제로 node-inspector를 먼저 실행하지 않고도 Mocha 테스트를 디버깅 할 수 있습니다. 가장 쉬운 방법은
node-debug _mocha
Chrome에서 노드 테스트 디버깅을 시작해야합니다 (Safari에서도 작동 함).
테스트가 작동하지 않는 한 가지 이유는 때때로 http : // localhost : 8080 / debug? port = 5858 또는 http://127.0.0.1:8080/debug?port=5858 을 시도하기 때문입니다 .
플래그 --inspect-brk
와 함께 mocha를 실행 하고 페이지에서 크롬의 '노드 전용 DevTools 열기'를 클릭하십시오 chrome://inspect
. 전용 DevTools 창에서 연결 localhost:9229
을 추가 하여 자동으로 연결 합니다.
또한 debugger
디버그하려는 파일에 명령문을 추가하십시오 .
(2017 년 10 월 현재 최신 버전의 노드 및 크롬을 사용하고 있습니다.)
'Programing' 카테고리의 다른 글
사용자 지정 제목 표시 줄에서 프로그래밍 방식으로 배경색 그라데이션을 설정하려면 어떻게합니까? (0) | 2020.11.23 |
---|---|
Android 그라디언트의 각도 속성 (0) | 2020.11.23 |
이미지와 레이블로 사용자 정의 UIBarButtonItem을 만드는 방법은 무엇입니까? (0) | 2020.11.23 |
R의 quantile () 함수 설명 (0) | 2020.11.22 |
WPF 개발에 어떤 도구를 사용합니까? (0) | 2020.11.22 |