在Visual Studio代码中调试由gulp运行的jasmine测试用例?

时间:2016-01-27 09:59:10

标签: debugging jasmine visual-studio-code

我试图在visual studio代码调试控制台中调试jasmine测试用例。 下面是我的launch.json和gulpfile.js配置:

在我的gulp任务中,我尝试使用' gulp-jasmine'运行测试用例和" gulp-karma" (在茉莉花下面评论)。现在使用其中任何一个我都可以通过命令行( gulp"任务名称" )或通过vs代码中的task.json文件成功执行我的测试用例。
但是,我想调试我的jasmine测试用例( spec / StockSpec.js )本身。在运行debug(f5)时,调试器在gulpfile.js中的入口点上成功暂停,如下所示:

从这里起,无论我选择哪种场景,我都无法导航到我的茉莉花测试案例:

场景1 :点击跳过(F10) - 跳到下一个gulp任务
场景2 :点击Step In / out(F11 / shift + F11) - 跳转到某些内部module.js,index.js等文件。

我该如何进一步继续?

1 个答案:

答案 0 :(得分:1)

这贯穿gulpfile.js,但不会触发gulp任务本身。启动程序需要gulp.js,并将gulp任务作为参数。然后,您可以在单元测试中设置断点。

以下启动配置适用于触发unittests gulp任务:

{
  "name": "Launch",
  "type": "node",
  "request": "launch",
  "program": "${workspaceRoot}/node_modules/gulp/bin/gulp.js",
  "stopOnEntry": false,
  "args": [
    "unittests"
  ],
  "cwd": "${workspaceRoot}/src/",
  "preLaunchTask": null,
  "runtimeExecutable": null,
  "runtimeArgs": [
    "--nolazy"
  ],
  "env": {
    "NODE_ENV": "development"
  },
  "externalConsole": false,
  "sourceMaps": false,
  "outDir": null
}