Я пытаюсь отлаживать свои мокко-тесты в VS Code с помощью launch.json, но появляется эта ошибка:
ReferenceError: before is not defined
Я также обнаружил, что получаю эти ошибки, когда перемещаюсь и комментирую разделы кода:
ReferenceError: describe is not defined
ReferenceError: it is not defined
Раньше, оно и описание — это функции мокко. Проверил, что мокка запускается и так оно и есть. Отладчик работает нормально, но как только он доходит до функции мокко, он выдает ошибку.
Вот мой файл launch.json:
{
"version": "0.2.0",
"configurations": [
{
"args": [
"-u",
"tdd",
"--timeout",
"999999",
"--colors",
"${workspaceFolder}/test/**/*.test.js" // <-- minor change from default config
],
"internalConsoleOptions": "openOnSessionStart",
"name": "Mocha Tests",
"program": "${workspaceFolder}/node_modules/mocha/bin/mocha.js", // <-- mocha
"request": "launch",
"skipFiles": [
"<node_internals>/**"
],
"type": "node"
}
]
}
Это конфигурация по умолчанию для мокко, которую VS Code автоматически генерирует.





У них два разных интерфейса для Mocha: BDD и TDD. BDD — это интерфейс с именами функций «описать», «оно» и «до». TDD имеет те же функции, но с другими именами.
Вы используете интерфейс BDD в своем коде, но в файле launch.json указываете VS Code запускать Mocha с интерфейсом TDD!
Вот каким должен быть ваш launch.json:
{
"version": "0.2.0",
"configurations": [
{
"args": [
"-u",
"bdd", // <- SOLUTION
"--timeout",
"999999",
"--colors",
"${workspaceFolder}/test/**/*.test.js" // <-- minor change from default config
],
"internalConsoleOptions": "openOnSessionStart",
"name": "Mocha Tests",
"program": "${workspaceFolder}/node_modules/mocha/bin/mocha.js", // <-- mocha
"request": "launch",
"skipFiles": [
"<node_internals>/**"
],
"type": "node"
}
]
}
https://mochajs.org/#command-line-usage
https://joshldavis.com/2013/05/27/difference-between-tdd-and-bdd/