无法 运行 Mocha 在 VSCode 中使用 TypeScript 进行测试

Can't run Mocha tests with TypeScript in VSCode

我的测试文件:

import { expect } from 'chai';

describe('test', () => {
    it('compiles', () => {
        expect(true).is.true;
    });
});

运行使这个 npm 脚本有效:

"test": "mocha -r esm -r ts-node/register test/**/Test*.t.ts"

它应该如何工作的示例:https://adrianhall.github.io/web/2018/07/04/run-typescript-mocha-tests-in-vscode/

在那个例子中,他们也在测试文件中使用了 import { .. } ,但对我来说,只有在我需要 esm 时才有效(第一个谜,但本身不是问题)。

当我 运行 VSCode 中的这个配置(来自示例)它在我 'npm run test' 之前有效,但是当我更改我的测试代码和 运行nning它在 TS 类型冒号上崩溃。没有 '-r esm' mocha 在 'import {' 上再次崩溃

{
    "type": "node",
    "request": "launch",
    "name": "Mocha Tests",
    "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
    "args": [
        "--require", "esm",
        "--require", "ts-node/register",
        "--timeout", "999999",
        "--colors", 
        "${workspaceFolder}/test/**/Test*.ts",
    ],
    "internalConsoleOptions": "openOnSessionStart"
}

我让它与 ts-mocha 一起工作。

package.json 脚本

"test": "ts-mocha -r esm -p tsconfig.json test/**/Test*.ts"

launch.json 配置

{
    "type": "node",
    "request": "launch",
    "name": "Mocha Tests",
    "runtimeArgs": [
        "${workspaceFolder}/node_modules/ts-mocha/bin/ts-mocha",
        "--timeout", "999999",
        "-r", "esm",
        "-p", "${workspaceFolder}/tsconfig.json", "${workspaceFolder}/test/**/Test*.ts",
    ],
    "console": "integratedTerminal",
    "protocol": "inspector"
}