Xin lỗi vì đã thêm câu trả lời khác, nhưng không có câu trả lời nào trước đó phù hợp với tôi kể từ VS Code 1.8.1 và trình gỡ lỗi Node tiêu chuẩn được bao gồm trong đó. Đây là cách tôi đã giải quyết nó (với hướng dẫn từ các câu trả lời trước ở đây và từ tài liệu gỡ lỗi VS Code Node.js chính thức ) để gỡ lỗi bằng một cú nhấp chuột / nhấn phím:
- Đảm bảo mocha được cài đặt
devDependency
trong packages.json
:"devDependencies": { "mocha": "^3.2", ... }
- Chạy
npm install
trong thư mục của bạn package.json
để đảm bảo rằng mocha hiện đã được cài đặt trongnode_modules/
- Mở
.vscode/launch.json
(hoặc trong Mã VS, nhấn F1, bắt đầu nhập "khởi chạy" và chọn "Gỡ lỗi: Mở khởi chạy.json")
- Nhấp vào nút "Thêm cấu hình" màu xanh lam ở dưới cùng bên phải (hoặc chỉ sao chép và dán một trong những người khác của bạn); bước này là tùy chọn ... Ý tôi là, bạn có thể sử dụng lại cấu hình hiện có. Nhưng tôi đề nghị thêm một cái để đỡ nhầm lẫn.
- Thay đổi phần sau trong của bạn
launch.json
, sau đó chọn tên cấu hình mới trong cửa sổ gỡ lỗi trong VS Code và nhấp vào mũi tên màu xanh lục để bắt đầu gỡ lỗi các bài kiểm tra nút + mocha của bạn!
Trong cấu hình mới trong launch.json:
"configurations": [{
"name": "whatever name you want to show in the VS Code debug list",
"type": "node",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/node_modules/mocha/bin/mocha",
"args": ["--debug-brk=5858", "--no-timeouts", "--colors", "test/**/*.js"],
"address": "localhost",
"port": 5858,
// the other default properties that are created for you are fine as-is
}, ...]
Điều này giả định rằng mẫu test/**/*.js
sẽ hoạt động cho nơi bạn đặt các bài kiểm tra của mình. Thay đổi khi thích hợp.
Hãy thoải mái thay đổi cổng miễn là bạn thay đổi nó trong cả hai thuộc tính args
và port
thuộc tính để phù hợp.
Sự khác biệt chính đối với tôi là đảm bảo mocha ở trong node_modules
, sử dụng program
để trỏ đến tệp thực thi và args
cần debug-brk=x
trỏ đến cổng được chỉ định trong port
. Phần còn lại ở trên chỉ làm cho mọi thứ đẹp hơn và dễ dàng hơn.
Bạn và nhóm của bạn có đưa .vscode/launch.json
vào kho lưu trữ hay không. Đó là một tệp chỉ dành cho IDE, nhưng toàn bộ nhóm của bạn có thể sử dụng nó như thế này, không có vấn đề gì, vì tất cả các đường dẫn và cài đặt là tương đối và rõ ràng.
Mẹo: Có package.json
thể bao gồm một scripts
thẻ cũng khởi chạy mocha với một cái gì đó giống như "test": "./node_modules/.bin/mocha"
, nhưng nó không được VS Code sử dụng — thay vào đó nó được sử dụng khi npm test
được chạy ở dòng lệnh. Cái này làm tôi bối rối một chút. Lưu ý nó ở đây trong trường hợp những người khác cũng nhầm lẫn.
CHỈNH SỬA: VS Code 1.9.0 đã thêm tùy chọn "Thêm cấu hình" trong trình đơn thả xuống cấu hình gỡ lỗi và bạn có thể chọn "Node.js Mocha Tests" giúp đơn giản hóa hầu hết các thao tác trên. Bạn vẫn cần đảm bảo mocha có trong của bạn node_modules
và có thể phải cập nhật cwd
và cuối cùng runtimeArgs
(là mẫu để tìm kiếm các bài kiểm tra của bạn) để chỉ đến các đường dẫn thích hợp. Nhưng một khi bạn đặt hai thuộc tính đó, nó sẽ hoạt động khá nhiều từ đó.
"args"
khối:"--require", "${workspaceFolder}/tools/testSetup.js",