【问题标题】:SyntaxError Importing Mocha for Typescript Unit TestingSyntaxError Importing Mocha for Typescript 单元测试
【发布时间】:2020-11-04 03:08:29
【问题描述】:

下面我有一个 Typescript 项目的示例测试。我正在使用 mocha chai 进行测试。测试用例暂时为空白。

import {KafkaConsumer} from '../infrastructure/delivery/kafka/kafka-consumer';
import {expect} from 'chai';
import {describe, it} from 'mocha';

describe('KafkaConsumer Initialization', () => {
    it('should initialize KafkaConsumer', () => {
    })
})

当我运行测试时,我收到以下错误:

 import {describe} from 'mocha';
       ^

SyntaxError: Unexpected token {

知道为什么会这样吗?如果我将第 3 行更改为导入“mocha”;我有一个类似的 SyntaxError。如果没有该行,describe()it() 将不会被定义

下面是我的package.json 文件。

    {
  "name": "wss",
  "version": "0.0.0",
  "private": true,
  "main": "dist/index.js",
  "scripts": {
    "tsc": "tsc",
    "start": "node --inspect=5858 -r ts-node/register ./src/index.ts",
    "start:watch": "nodemon",
    "build": "tsc",
    "prod": "tsc && npm run postbuild && node ./dist/index.js",
    "postbuild": "npm run copy-files",
    "copy-files": "copyfiles -u 1 ./src/**/*.js dist",
    "test": "env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'tests/**/*.ts'",
    "test:watch": "nodemon --exec npm test"
  },
  "nyc": {
    "require": [
      "ts-node/register"
    ],
    "include": [
      "src/**/*.ts"
    ],
    "extension": [
      ".ts"
    ],
    "reporter": [
      "lcov",
      "text"
    ],
    "sourceMap": true,
    "instrument": true
  },
  "dependencies": {
    "@types/dotenv": "^6.1.1",
    "@types/newrelic": "^5.11.0",
    "@types/redis": "^2.8.21",
    "aws-iot-device-sdk": "^2.2.4",
    "axios": "^0.19.0",
    "bluebird": "^3.5.5",
    "chai-http": "^4.3.0",
    "cookie-parser": "~1.4.3",
    "copyfiles": "^2.2.0",
    "dotenv": "^7.0.0",
    "express": "~4.16.0",
    "kafka-node": "^4.1.3",
    "lodash": "^4.17.15",
    "morgan": "~1.9.0",
    "newrelic": "^5.11.0",
    "redis": "^3.0.2",
    "reflect-metadata": "^0.1.13",
    "uuid": "^8.0.0"
  },
  "devDependencies": {
    "@types/bluebird": "^3.5.27",
    "@types/express": "^4.16.1",
    "@types/jsonwebtoken": "^8.3.2",
    "@types/lodash": "^4.14.150",
    "@types/mocha": "^8.0.0",
    "@types/node": "^11.13.14",
    "@types/winston": "^2.4.4",
    "chai": "^4.2.0",
    "eslint": "^4.19.1",
    "mocha": "^8.0.1",
    "nodemon": "^1.18.11",
    "nyc": "^14.1.1",
    "ts-node": "^8.10.2",
    "ts-node-dev": "^1.0.0-pre.41",
    "tslint": "^5.16.0",
    "typescript": "^3.9.2",
    "typescript-eslint-parser": "^22.0.0"
  }
}

【问题讨论】:

标签: node.js typescript mocha.js chai


【解决方案1】:

已解决! package.json 中的 test 脚本应更改为:

    "test": "mocha --require ts-node/register --watch-extensions ts './src/test/test.ts'",

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2016-11-19
    • 1970-01-01
    相关资源
    最近更新 更多