Visual Studio Code를 사용하여 Mocha 테스트에 중단 점을 추가 할 수 있습니까?
일반적으로 코드를 디버깅 할 때 launch.json을 구성하고 프로그램 속성을 실행할 자바 스크립트 파일로 설정해야합니다. 그래도 Mocha를 위해 이것을 수행하는 방법을 모르겠습니다.
답변
시작 구성으로 이동하여 다른 구성 뒤 또는 사이에 커서를 놓고 ctrl– space를 눌러 현재 유효한 모카 구성을 자동으로 생성 한다는 것을 알고 계셨습니까 ?
나를 위해 완벽하게 잘 작동합니다. 중단 점에서 중지 포함. (나는 또한 다양한 설정 관련 이유로 더 이상하지 않은 이전의 구식이 있습니다.)
VSCode 1.21.1 (2018 년 3 월)부터이 결과는 다음과 같습니다.
{
"version": "0.2.0",
"configurations": [
{
"name": "Mocha (Test single file)",
"type": "node",
"request": "launch",
"runtimeArgs": [
"${workspaceRoot}/node_modules/.bin/mocha",
"--inspect-brk",
"${relativeFile}",
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"port": 9229
}
}
참고로 : debug-brk
는 더 이상 사용되지 않습니다 (최소 노드> = 버전 8 인 모든 사람에게).
답변
--debug-brk
+ Attach 를 사용하지 않거나 전역 mocha 설치에 대한 절대 경로를 지정 하지 않으려면 (launch.json을 버전 제어하에두고 여러 시스템에 여러 개발자가있는 경우 중단됨) mocha를 개발 종속성으로 설치하고 launch.json에 다음을 추가하십시오.
{
"name": "mocha",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"stopOnEntry": false,
"args": ["--no-timeouts", "--colors"], //you can specify paths to specific tests here
"cwd": "${workspaceRoot}",
"runtimeExecutable": null,
"env": {
"NODE_ENV": "testing"
}
}
F5를 눌러 테스트에서 전체 디버깅을 지원합니다.
--no-timeouts
중단 점에서 중지했기 때문에 테스트 시간이 초과 --colors
되지 않도록하고, VS Code가 색상을 지원하는지 감지하지 못하더라도 Mocha가 색상을 출력하는지 확인합니다.
답변
또 다른 방법은 --debug-brk
mocha 의 명령 줄 옵션과 Attach
Visual Studio Code 디버거 의 기본 시작 설정을 사용하는 것입니다.
제안 된 심층 설명 (André 제공)
이것을하기 위해:
다음 명령을 사용하여 명령 줄에서 mocha를 실행합니다.
mocha --debug-brk
이제 VS Code에서 디버그 아이콘을 클릭 한 Attach
다음 시작 버튼 옆의 옵션에서 선택 합니다. VS Code에 중단 점을 추가 한 다음 시작을 클릭합니다.
답변
OS X 10.10의 VSCode에서이 작업을 수행했습니다. ./settings/launch.json
파일을 이것으로 바꾸십시오 .
{
"version": "0.1.0",
"configurations": [
{
"name": "Run app.js",
"type": "node",
"program": "app.js", // Assuming this is your main app file.
"stopOnEntry": false,
"args": [],
"cwd": ".",
"runtimeExecutable": null,
"env": { "NODE_ENV": "production"}
},
{
"name": "Run mocha",
"type": "node",
"program": "/Users/myname/myfolder/node_modules/mocha/bin/_mocha",
"stopOnEntry": false,
"args": ["test/unit.js"],
"cwd": ".",
"runtimeExecutable": null,
"env": { "NODE_ENV": "production"}
}
]
}
변경해야하는 키 값은 program
이며 _mocha
실행 파일 로 설정되어야 하며은 args
테스트 파일의 배열이어야합니다.
답변
Mac OS X에서 VS Code (1.8.2)에서 작업하는 방법은 다음과 같습니다.
{
"name": "Mocha",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"stopOnEntry": false,
"args": ["--recursive"], //you can specify paths to specific tests here
"cwd": "${workspaceRoot}",
"runtimeExecutable": null,
"env": {
"NODE_ENV": "testing"
}
}
Mocha는 npm 모듈 디렉토리에 설치해야합니다.
답변
Debug > Add Configuration...
메뉴로 이동Node.js
환경 선택Mocha Tests
표시된 드롭 다운 목록에서 옵션을 선택 합니다.args
속성 의 마지막 항목으로 테스트 파일의 경로를 입력합니다.- 을 추가하다
breakpoint
Debug
아이콘을 클릭하십시오Mocha Tests
구성으로 선택- 보도
Start debugging
버튼 - 🙂
답변
나는 이것을 해결 방법으로 분류하는 방법을 알아 냈습니다 . Visual Studio Code 팀이 이에 대한보다 확실한 솔루션을 제공 할 것으로 기대하지만 그 동안 제가 한 일은 다음과 같습니다.
./settings/mocha.js
실행할 파일 목록으로 인수를 프로그래밍 방식으로 전달하는 mocha를 실행 하는 파일을 만들었습니다 . 여기 에서 전체 파일을 볼 수 있습니다 .-
나는를 실행 발사 설정 만든
./settings/mocha.js
으로program
우리가 인수로 시험에 필요한 파일 / 파일 패턴을 통과를 :{ "name": "Unit tests", "type": "node", "program": ".settings/mocha.js", "stopOnEntry": true, "args": ["test/unit/*.js", "test/unit/**/*.js"], "cwd": ".", "runtimeExecutable": null, "env": { } }
따라서 이것은 수행하는 것과 동일 mocha test/unit/*.js test/unit/**/*.js
하며 이제 mocha 테스트에서 중단 점을 사용할 수 있습니다.