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';
似乎對我有效。
