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

时间:2020-05-19 10:50:22

标签: typescript visual-studio-code mocha

我的测试文件:

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时,它可以工作,但是当我更改测试代码并运行时,它在TS类型冒号上崩溃。如果没有'-r esm',摩卡再次在'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"
}

1 个答案:

答案 0 :(得分:2)

我让它与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"
}