visual studio code - Excepción 'Describe no está definido' en Typescript, Mocha y VSCode
Por alguna razón, mis scripts de prueba de mocha están lanzando una excepción de "describe no está definido".
He leído y probado las soluciones sugeridas por estas preguntas de SO pero no tuve suerte:
describe no es una función
"Mocha describe no está definido duplicado"
otros enlaces son:
typescript mocha describe no es una función
Este es mi launch.json de VSCode.
{
"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"
}
Este es mi script de prueba de mocha:
import "mocha";
import assert = require("assert");
describe("Init", () => {
before(() => {
console.log("before-hook");
});
it("connected", () => {
assert(true, "is not true");
});
});
Y este es mi 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
}
¿Qué estoy haciendo mal aquí? Realmente necesito volver a usar mocha.
Respuesta #1
Respondiendo a mi propia pregunta aquí.
He descubierto el problema después de instalar Mocha 6.1.1.
En el launch.json, cambia el array args de "tdd" a "bdd" de modo que:
"-u", "bdd"
La versión 5.x funcionaba con la opción "tdd", así que la siguiente versión principal causó este contratiempo debido a una configuración mal escrita.
Respuesta #2
Eliminando esta importación:
import { describe, it } from 'mocha';
Parece solucionarlo para mí.
