#node.js #typescript #npm #electron #mocha.js
#node.js #typescript #npm #электрон #mocha.js
Вопрос:
Я использую Angular TypeScript Electron и пытаюсь добавлять тесты в свое приложение. Я установил mocha
и добавил следующую строку в package.json
:
"test": "mocha './**/*.spec.ts'",
У меня есть app.component.spec.ts
файл в моем исходном каталоге, но выполнение npm run test
завершается неудачно со следующим исключением:
> mocha './**/*.spec.ts'
srcappapp.component.spec.ts:1
import { TestBed, waitForAsync } from '@angular/core/testing';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:931:16)
at Module._compile (internal/modules/cjs/loader.js:979:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)
at Module.load (internal/modules/cjs/loader.js:879:32)
Кто-нибудь может объяснить мне контекст и как я мог бы исправить эту проблему?
PS В похожих сообщениях module
tsconfig.json
необходимо было установить commonjs
значение in, что я и сделал, но это не решило проблему:
{
"compileOnSave": false,
"compilerOptions": {
"module": "commonjs",
...
}
Комментарии:
1. Вам нужен ts-mocha ( npmjs.com/package/ts-mocha ).
2.
npm i --save-dec ts-mocha
не решил проблему3. Вам нужно не только установить его, но и изменить свой тестовый скрипт и вызвать его. Или вы можете просто попробовать это с помощью npx в корневом каталоге приложения вашего терминала, например:
npx ts-mocha './**/*.spec.ts'
.