在Webstorm 11中使用jasmine运行/debug node.js测试用例

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

本文关键字:debug node js 测试用例 运行 jasmine Webstorm      更新时间:2023-09-26

我安装了Webstorm 11,并希望运行用Jasmine实现的测试(针对node.js应用程序)。然而,要做到这一点并不容易。我可以在命令行中键入"jasmine"命令,然后运行测试,但在这种情况下,我无法调试代码。那么,有没有一种方法可以配置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. 在这个配置中,选择源文件-jasmine可执行文件(对于localy installed茉莉花它将是'node_modules'jasmine'bin'jasmine.js'

所以你已经准备好了。然而,在当前尝试调试此配置时,它失败了,并出现错误:

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

如果你面对它-你需要更改Webstom配置并设置此设置:

-Dnodejs.debugger.use.jb.support=false查看更多详细信息:

因此,这允许您运行jasmine测试并调试它们。然而,仍然有一些事情是这个解决方案无法做到的:

  1. 运行单个测试用例
  2. 使用右键单击按钮和菜单中的Run命令运行单个测试用例

Jetbrains,如果你读到这篇文章,请先解决这个问题。3年前,我开始在Webstorm中使用node,从那一刻起,几十个版本仍然没有运行测试的好方法。这太荒谬了。

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/jasmin.js

lib/jasminejstd适配器/JasmineAdapter.js

WebStorm不直接管理测试运行。这项工作是由一名测试人员完成的。WebStorm支持多个测试运行程序——Mocha、Karma、JsTestDriver、nodeunit。他们中的大多数人可以执行Jasmine测试