1

我已经像这样设置了我的 mocha 测试命令

mocha --require test/ts-node-hooks.js test/**/*.spec.ts

我的ts-node-hooks.js文件就像这样

const path = require('path');
require("ts-node").register({
    project: path.resolve(__dirname, 'tsconfig.json'),
});

tsconfig.json/test目录中的文件设置为ESNEXT用作 javascript 目标

{
  "compilerOptions": {
    /* Basic Options */
    "target": "ESNEXT",                          /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'. */
    "module": "commonjs",                     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
    "types": ["@3846masa/axios-cookiejar-support"]                           /* Type declaration files to be included in compilation. */
  }
}

但我不断收到此错误

$ mocha --require test/ts-node-hooks.js test/**/*.spec.ts
/src/Call.ts:41
            return (async () => this._callClass = await this.getCallValue('callclass'))();
                          ^
SyntaxError: Unexpected token (

tsc version 2.6.2编译代码没有问题。

4

2 回答 2

1
  1. 使用mocha -compilers <path to ts-node> 例如。node_modules\ts-node\register test/test-node-hooks.ts

  2. 如果上述方法不起作用,请使用 tsc test-node-hooks.ts 重新编译 .ts 文件并再次运行 mocha 命令。

于 2018-04-11T11:41:42.897 回答
0

ts-node就我而言,这是一个我忘记的现有全局安装的简单问题。卸载解决了这个问题。

于 2018-04-11T16:07:20.137 回答