Tìm kiếm trang web

typescript - Thiết lập gỡ lỗi mocha trong VS Code để sử dụng tùy chọn --file của mocha để khởi chạy mỗi bài kiểm tra


Đồng nghiệp của tôi, người không sử dụng VS Code, đã tạo một tệp typescript nhỏ để chạy với mỗi bài kiểm tra. Tệp này có thể được chạy từ dòng lệnh mocha bằng cách sử dụng tùy chọn --file. Tôi đã cố gắng đưa tùy chọn --file và phần args vào tệp .vscode/launch.json nhưng dường như nó bị bỏ qua.

Sau khi vò đầu bức tóc rất nhiều, tôi đã quản lý để làm nó hoạt động bằng cách sử dụng tùy chọn --config để trỏ đến một file .mocharc.js nhỏ mà tôi đặt trong thư mục .vscode để giữ nó ra khỏi đường đi. File .mocharc.js trông như sau:

module.exports = {  
  file: ['./tests/testHelper.ts']
}

Tôi đặt cái này ở đây để ai đó có thể đăng một cách tốt hơn, hoặc ai đó có thể thấy nó hữu ích. Phần args của launch.json trông như sau:

"args": [
                "-r",
                "ts-node/register",
                "--config", "${workspaceRoot}/.vscode/.mocharc.js",
                "${relativeFile}",
                "--no-timeout"
            ],

Câu trả lời #1

Tôi đã có thể làm cho điều này hoạt động như ban đầu được mô tả. Dựa trên cấu hình khởi động Node.js: Launch Program, thêm program và args:

{
  "name": "Mocha: Current File",
  "type": "node",
  "request": "launch",
  "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
  "args": [
    "-r",
    "ts-node/register",
    "--file",
    "testHelper.ts",
    "${relativeFile}",
    "--no-timeout"
  ],
  "skipFiles": [
    "<node_internals>/**"
  ]
}

Tôi có thể chạy trình gỡ lỗi đối với một tệp kiểm tra, xem rằng trình trợ giúp kiểm tra đã chạy, và đặt các điểm ngắt nếu cần thiết. Bạn có thể kiểm tra với cấu hình dự án tối thiểu này: https://github.com/zbream/so-mocha-helper

Vì vậy, tôi nghi ngờ vấn đề của bạn có thể là điều gì đó đặc thù hơn liên quan đến dự án của bạn. Tuy nhiên, điều này khó có thể xác định mà không có thêm thông tin.

Bài viết liên quan