網站搜尋

visual studio code - 在 Typescript、Mocha 和 VSCode 上出現 Describe 未定義異常


出於某種原因,我的 mocha 測試腳本拋出了「describe 未定義」的異常。

我已經閱讀並嘗試過這些 Stack Overflow 問題所建議的解決方案,但都沒有成功:
describe 不是一個函數
"Mocha describe 未定義 重複"

其他連結為:
typescript mocha describe 不是一個函數

這是我的 VSCode launch.json。

{
  "type": "node",
  "request": "launch",
  "name": "Mocha Tests",
  "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
  "args": [
    "-u",
    "tdd",
    "--timeout",
    "999999",
    "--colors",
    "${workspaceRoot}/dist/tests/**/*.js"
  ],
  "outFiles": ["${workspaceFolder}/dist/tests/**/*.js"],
  "sourceMaps": true,
  "protocol": "inspector",
  "internalConsoleOptions": "openOnSessionStart"
}

這是我的 mocha 測試腳本:

import "mocha";
import assert = require("assert");

describe("Init", () => {
  before(() => {
    console.log("before-hook");
  });

  it("connected", () => {
    assert(true, "is not true");
  });
});

而這是我的 tsconfig.json:

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "strict": true,
    "noImplicitAny": false,
    "module": "commonjs",
    "target": "es6",
    "lib": [ "es6" ],
    "sourceMap": true,
    "outDir": "dist",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "strictNullChecks": true,
    "allowJs": false,
    "checkJs": false,
    "types": [
      "node"
    ]
  },
  "compileOnSave": true
}

我在這裡做錯了什麼?我真的需要回去使用 mocha。

答案#1

在這裡回答我自己的問題。

我在安裝 Mocha 6.1.1 後已經找出問題所在。

在 launch.json 中,將 args 陣列從 "tdd" 改為 "bdd",使其為:
"-u", "bdd"

版本 5.x 可以使用「tdd」選項,因此下一個主要版本造成了這個因設定寫得不良而出現的小問題。

答案#2

移除此匯入:

import { describe, it } from 'mocha';

似乎對我有效。