网站搜索

mocha.js - 如何运行 mocha 6 搭配 babel 7 和 TypeScript 3.7?


我如何使用 Babel 和 TypeScript 运行我的 Mocha 测试?

我正在尝试的命令是:

node_modules/.bin/mocha --require @babel/register "src/**/*.spec.ts" 

我收到的错误是:

.../src/Sql.spec.ts:1
import 'mocha';
       ^^^^^^^

SyntaxError: Unexpected string

我的 .babelrc 看起来像:

{
    "presets": [
        ["@babel/preset-env",{"targets": {"node": "10.7"}}],
        ["@babel/preset-typescript",{"allowNamespaces": true}]
    ],
    "plugins": [
        "@babel/plugin-syntax-bigint",
        ["@babel/plugin-proposal-nullish-coalescing-operator",{"loose": true}],
        ["@babel/plugin-proposal-optional-chaining",{"loose": true}]
    ],
    "comments": false
}

当我通过构建我的代码用于生产环境时

node_modules/.bin/babel src --out-dir dist --extensions ".ts" --source-maps inline

同一个 Sql.spec.js 文件按预期将 import 编译掉:

"use strict";

require("mocha");

var _chai = require("chai");

那么发生了什么?Mocha 没有包含 @babel/register 吗?@babel/register 没有发挥作用吗?它们是否忽略了 .babelrc 文件?