Desculpe por adicionar outra resposta, mas nenhuma das anteriores funcionou muito bem para mim no VS Code 1.8.1 e no depurador Node padrão incluído nele. Aqui está a maneira como eu resolvi isso (com orientação das respostas anteriores aqui e dos documentos oficiais de depuração do VS Code Node.js ) para que haja depuração com um clique / pressionamento de tecla:
- Certifique-se de que o mocha esteja instalado como
devDependency
em packages.json
:"devDependencies": { "mocha": "^3.2", ... }
- Execute
npm install
no diretório do seu package.json
para certificar-se de que o mocha agora está instalado emnode_modules/
- Abra
.vscode/launch.json
(ou em VS Code, pressione F1, comece a digitar "launch" e selecione "Debug: Open launch.json")
- Clique no botão azul "Adicionar configuração" no canto inferior direito (ou apenas copie e cole um dos outros); esta etapa é opcional ... Quer dizer, você pode reutilizar uma configuração existente. Mas sugiro adicionar um para mantê-lo menos confuso.
- Altere o seguinte em seu e
launch.json
, em seguida, escolha o novo nome de configuração na janela de depuração no VS Code e clique na seta verde para começar a depurar seus testes node + mocha!
Na nova configuração em launch.json:
"configurations": [{
"name": "whatever name you want to show in the VS Code debug list",
"type": "node",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/node_modules/mocha/bin/mocha",
"args": ["--debug-brk=5858", "--no-timeouts", "--colors", "test/**/*.js"],
"address": "localhost",
"port": 5858,
// the other default properties that are created for you are fine as-is
}, ...]
Isso pressupõe que o padrão test/**/*.js
funcionará para onde você colocar seus testes. Altere conforme apropriado.
Sinta-se à vontade para alterar a porta, contanto que altere-a nas propriedades args
e port
para que correspondam.
A principal diferença para mim era garantir que o mocha estava dentro node_modules
, usando program
para apontar para o executável e args
precisando debug-brk=x
apontar para a porta especificada em port
. O resto do acima apenas torna as coisas mais bonitas e fáceis.
Cabe a você e sua equipe se você colocar .vscode/launch.json
no repositório ou não. É um arquivo somente IDE, mas toda a sua equipe poderia usá-lo assim, sem problemas, já que todos os caminhos e instalações são relativos e explícitos.
Dica: O package.json
pode incluir uma scripts
tag que também inicia o mocha com algo semelhante "test": "./node_modules/.bin/mocha"
, mas não é usada pelo VS Code - em vez disso, é usada quando npm test
é executada na linha de comando. Este me confundiu um pouco. Anotando aqui, caso outros também se confundam.
EDIT: VS Code 1.9.0 adicionou uma opção "Adicionar configuração" na lista suspensa de configuração de depuração, e você pode escolher "Testes Mocha Node.js" que ajudam a simplificar a maioria dos itens acima. Você ainda precisa se certificar de que o mocha está em seu node_modules
e pode ter que atualizar o cwd
e last runtimeArgs
(que é o padrão para encontrar seus testes) para apontar para os caminhos apropriados. Mas depois de definir essas duas propriedades, deve funcionar praticamente a partir daí.
"args"
bloco:"--require", "${workspaceFolder}/tools/testSetup.js",