J'essayais de déboguer les scénarios Cucumber dans le code Visual Studio et apportais les modifications ci-dessous dans le launch.json
.
{
"name": "e2e",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}\\node_modules\\.bin\\cucumber-js",
"stopOnEntry": false,
"args": ["--no-timeouts", "--colors"],
"cwd": "${workspaceRoot}",
"runtimeExecutable": null,
"outFiles": [
"${workspaceRoot}\\features\\step_definitions\\*.js"
]
},
Cependant, je ne peux pas exécuter de session de débogage en utilisant la configuration ci-dessus. Le pas de def. les fichiers que j'ai créés en JavaScript. Alors, avez-vous besoin d'une aide sur le script ci-dessus si cela vous convient?
Vous pouvez essayer ci-dessous la configuration pour que votre débogage fonctionne dans VS Code. Dans outFiles
, indiquez le chemin de votre fichier de fonctions.
{
"name": "e2e",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/cucumber/bin/cucumber.js",
"outFiles": [
"${workspaceRoot}/features/*.feature"
]
}
(==========================================
MISE À JOUR À PARTIR DU CONCOMBRE ^ 5.0.2:
{
"name": "NPM Cukes",
"type": "node",
"request": "launch",
"console": "integratedTerminal",
"program": "${workspaceRoot}/node_modules/cucumber/bin/cucumber-js",
"args": [
"path/to/features/**/*.feature",
"-r",
"path/to/steps/**/*",
"--tags",
"@your-tags"
]
}
Si vous souhaitez déboguer uniquement la fonctionnalité CURRENT, ajoutez ceci à launch.json
{
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/node_modules/.bin/cucumber-js",
"args": ["${relativeFile}"],
"name": "Cukes current",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"windows": {
"program": "${workspaceFolder}/node_modules/cucumber/bin/cucumber"
}
}
Lorsque vous travaillez avec Ruby, il peut être utilisé sur de cette façon pour exécuter des fichiers de fonctionnalités spécifiques:
{
"name": "Cucumber",
"type": "Ruby",
"request": "launch",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/bin/cucumber",
"args": [
"--tags", "@Mytags",
]
}
Modifiant la réponse de Mukesh Rawat et veillant à ce que les chemins de fichiers supplémentaires soient corrects, cela a fonctionné pour moi:
Launch.json
{
"name": "DebugMode",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/cucumber/bin/cucumber-js",
"args": [
"${workspaceRoot}/features/*.feature",
"--tags", "@debug"
]
}
Workspace.json
{
"cucumberautocomplete.steps": [
"features/steps/*.js"
],
"cucumberautocomplete.syncfeatures": "features/*.feature",
"cucumberautocomplete.strictGherkinCompletion": true,
"settings": {},
"folders": [
{
"path": "/Users/{me}/Documents/{project folder}/{project name}"
}
]
}
Package.json
"scripts": {
"debug": "node --inspect=1337 --debug-brk --nolazy node_modules/cucumber/bin/cucumber-js --tags @debug --format json:./reports/report.json",
CucumberTest.feature
@debug
Scenario: Validate I can get debug working