문제 상황


https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2e94e650-f008-4413-a182-bfdec47266bd/Untitled.png

알고리즘 폴더 내부의 solution.js 파일에 중단점를 걸고 환경을 Node.js로 설정하면 디버깅이 될거라 기대했는데 아무 일도 일어나지 않았다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/4d979016-ee7d-49cf-af74-881bdc628add/Untitled.png

디버그 콘솔을 보니 node로 solution.js 를 실행하는데, solution 함수를 호출하는 코드가 없기 때문에, 선언만 하고 끝난 듯 했다.

그러면 solution.test.js 에서 solution 함수를 호출하니, solution.test.js 파일에 중단점을 걸어보기로 했다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/313bf277-48ef-4d62-82bc-25cecdf17b31/Untitled.png

test 파일에 중단점을 걸었더니 describe 함수를 찾지 못했다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c9cf1779-dfc6-4c55-b173-3aed3e9b4a73/Untitled.png

ReferenceError: describe is not defined NodeJs

Debug single javascript file in "Visual Studio Code"

stackoverflow를 찾아보니 테스트 코드를 실행시킬 때 node 대신 mocha 로 실행해야한다고 한다. 현재 jest를 쓰고 있는데 jest도 마찬가지일 듯 싶었다.

그럼 어떻게 vscode의 디버그 모드를 jest로 실행시키는지 궁금했다. stackoverflow의 다른 답변도 더 찾아본 결과 .vscode/launch.json 을 설정해서 해결하는 것 같았다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/1b49286b-6790-4dec-8ef3-ab5d6d866d14/Untitled.png

launch.jsonprogram 에 실행할 jest 를 넣고 argstest 파일 또는 test 파일이 있는 디렉토리를 넘겨주면 된다.