If i run in the console the test runs fine
mocha --require ts-node/register tests/**/*.spec.ts
Note: I installed mocha and mocha -g
I want to run unit test from Visual Studio Code
launcgh.js file
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Mocha Tests",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"args": [
"--require",
"ts-node/register",
"-u",
"tdd",
"--timeout",
"999999",
"--colors",
"${workspaceFolder}/tests/**/*.spec.ts"
],
"internalConsoleOptions": "openOnSessionStart"
},
Very simple Test file
import { expect } from 'chai';
const hello = () => 'Hello world!';
describe('Hello function', () => {
it('should return hello world', () => {
const result = hello();
expect(result).to.equal('Hello world!');
});
});
but in the Visual studio Code debug console
/usr/local/bin/node --inspect-brk=15767 node_modules/mocha/bin/_mocha --require ts-node/register -u tdd --timeout 999999 --colors /Applications/MAMP/htdocs/ddd-board-game/backend/tests/**/*.spec.ts
Debugger listening on ws://127.0.0.1:15767/bdec2d9c-39a7-4fb7-8968-8cfed914ea8d
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
/Applications/MAMP/htdocs/ddd-board-game/backend/tests/dummy.spec.ts:3
source-map-support.js:441
describe('Hello function', () => {
^
ReferenceError: describe is not defined
source-map-support.js:444
at Object.<anonymous> (/Applications/MAMP/htdocs/ddd-board-game/backend/tests/dummy.spec.ts:1:1)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Module.m._compile (/Applications/MAMP/htdocs/ddd-board-game/backend/node_modules/ts-node/src/index.ts:414:23)
Finally!!! After a long search and reading some tutorials and comments I found the solution: the problem was with the config.
Open the test config file and delete the following lines:
"-u", <<<< delete this line
"tdd", <<<< delete this line
launch.js
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Mocha Tests",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"args": [
"--require",
"ts-node/register",
"-u", <<<< delete this line
"tdd", <<<< delete this line
"--timeout",
"999999",
"--colors",
"${workspaceFolder}/tests/**/*.spec.ts"
],
"internalConsoleOptions": "openOnSessionStart"
},
Run the test again and it will work.