Run/debug node.js Webstorm 11 中带有 jasmine 的测试用例

Run/debug node.js testcases with jasmine in Webstorm 11

我安装了 Webstorm 11 并想 运行 我的测试(针对 node.js 应用程序)用 Jasmine 实现。 然而,要做到这一点并不容易。我可以只输入命令行 'jasmine' 命令,测试将被 运行ned,但在这种情况下我无法调试代码。 那么有没有办法配置 Webstorm 来处理 jasmine 规范呢?

好的,虽然目前没有人回答,但我会尝试提供我的版本: 此流程将允许 运行 来自 Webstrom 的 jasmine testsute 和调试测试用例

  1. 安装 jasmine(本地或全局)
  2. 在项目文件夹中创建文件夹'spec/support'在这个文件夹中放置jasmine.json

    测试配置示例:

    {
    "spec_dir": "tests",
    "spec_files": [
        "**/*[sS]pec.js"
    ],
    "helpers": [
        "helpers/**/*.js"
    ]
    }
    
  3. 在 Webstorm 中创建 node.js 配置

  4. 在此配置中select源文件-jasmine可执行文件(用于localy安装 茉莉花会是 'node_modules\jasmine\bin\jasmine.js' )

所以你准备好了。然而,目前在尝试调试此配置时 - 它失败并显示错误:

Cannot stop on breakpoint due to internal error org.jetbrains.v8.V8CommandProcessor:

如果您遇到它 - 您需要更改 Webstom 配置并设置以下设置:

-Dnodejs.debugger.use.jb.support=false 更多详情请查看 there:

所以这允许您 运行 茉莉花测试和调试它们。然而,这个解决方案仍然有一些事情无法做到:

  1. 运行 个人测试用例
  2. 运行 个单独的测试用例,带有右键单击按钮和菜单中的 运行 命令

Jetbrains,如果您正在阅读本文 - 请已经解决此问题。我 3 年前开始在 Webstorm 中使用节点,从那一刻起,几十个版本仍然没有很好的方法来 运行 测试。这太荒谬了。

Jasmine 与 JSTestDriver 一起工作,您可以使用 WebStorm 11 开箱即用: https://www.jetbrains.com/webstorm/help/enabling-javascript-unit-testing-support.html

此页面还详细介绍了如何在 JSTestDriver 中添加 Jasmine: https://www.jetbrains.com/webstorm/help/preparing-to-use-jstestdriver-test-runner.html

在高层次上,您将:

  1. 从 JetBrains 插件库安装 JSTestDriver
  2. 将其配置为 WebStorm JavaScript 库 (https://www.jetbrains.com/webstorm/help/configuring-javascript-libraries.html#configure)
  3. 打开 jsTestDriver.conf 并在其中键入以下代码:

加载:

lib/jasmine/jasmine.js

lib/jasmine-jstd-adapter/JasmineAdapter.js

WebStorm 不直接管理测试 运行。这项工作由测试运行器完成。 WebStorm 支持多种测试运行器——Mocha、Karma、JsTestDriver、nodeunit。他们中的大多数人都可以执行 Jasmine 测试