디버깅
TIP
테스트를 디버깅할 때 --test-timeout
CLI 인수를 사용하면 중단점에서 멈췄을 때 테스트가 시간 초과되는 것을 방지할 수 있습니다.
VSCode
VSCode에서 테스트를 빠르게 디버깅하는 방법 중 하나는 JavaScript Debug Terminal
을 사용하는 것입니다. 새로운 JavaScript Debug Terminal
을 열고 npm run test
또는 vitest
명령을 직접 실행하십시오. 이 방법은 Node.js 환경에서 실행되는 모든 코드에 적용 가능하며, 대부분의 JavaScript 테스트 프레임워크와 호환됩니다.
VSCode에서 특정 테스트 파일을 디버깅하기 위한 실행 설정을 추가할 수도 있습니다.
{
// 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=830387을 참조하십시오.
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug Current Test File",
"autoAttachChildProcesses": true,
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"args": ["run", "${relativeFile}"],
"smartStep": true,
"console": "integratedTerminal"
}
]
}
디버그 탭에서 'Debug Current Test File'이 선택되었는지 확인한 후, 디버깅하려는 테스트 파일을 열고 F5 키를 누르면 디버깅이 시작됩니다.
IntelliJ IDEA
'Node.js' 실행 구성을 생성합니다. 디버그 모드에서 모든 테스트를 실행하려면 다음 설정을 사용하십시오.
설정 | 값 |
---|---|
Working directory | /path/to/your-project-root |
JavaScript file | ./node_modules/vitest/vitest.mjs |
Application parameters | run --threads false |
이 구성을 디버그 모드로 실행하면 IDE는 편집기에 설정된 JavaScript/TypeScript 중단점에서 멈춥니다.
Node Inspector (예: Chrome DevTools)
Vitest는 IDE 없이도 테스트 디버깅을 지원합니다. 하지만 이 방법을 사용하려면 테스트가 병렬로 실행되지 않아야 합니다. 다음 명령 중 하나를 사용하여 Vitest를 시작하십시오.
# 단일 작업자에서 실행
vitest --inspect-brk --single-thread
# 자식 프로세스에서 실행
vitest --inspect-brk --single-thread --no-threads
Vitest가 시작되면 실행이 일시 중단되고, Node.js inspector에 연결할 수 있는 개발자 도구를 열 때까지 기다립니다. Chrome DevTools를 사용하려면 브라우저에서 chrome://inspect
를 여십시오.
감시(watch) 모드에서는 --single-thread --isolate false
옵션을 사용하여 테스트가 다시 실행되는 동안 디버거를 계속 열어둘 수 있습니다.