Невозможно проверить машинопись с ошибкой синтаксиса 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 не имеет проблем с компиляцией кода.

2 ответа

  1. использование mocha -compilers <path to ts-node> например. node_modules \ TS-узел \ регистр test/test-node-hooks.ts

  2. Если вышеперечисленное не работает, перекомпилируйте файл.ts с помощью tsc test-node-hooks.ts и снова запустите команду mocha.

В моем случае это была простая проблема существующих глобально установленных узловых узлов, о которых я забыл. Удаление, которое решило проблему.

Другие вопросы по тегам