NodeJS,WebStorm和Jasmine:ReferenceError:调试时未定义describe

时间:2016-05-27 15:32:52

标签: javascript node.js jasmine webstorm

我正在尝试调试我使用WebStorm 2016.1.2编写的一些Jasmine测试。

我的测试代码如下:

friends

我的目录结构如下所示:

var should = require("should");
var myLib = require("../my-lib");

describe("Scenario", () => {
    it("works as expected", () => {
        myLib.do().should.not.throw()
    });
});

我在WebStorm中的NodeJS设置如下所示:

WebStorm Javascript Library Settings

要调试我只是按 F5 并选择要运行的│ ├───node_modules │ ├───.bin │ ├───aws-sdk │ │ └───<snip> │ ├───jasmine │ │ └───<snip> │ ├───jasmine-core │ │ └───<snip> │ ├───karma │ │ └───<snip> │ ├───karma-jasmine │ │ └───<snip> │ ├───should │ │ └───<snip> │ └───sinon │ └───<snip> ├───spec │ ├───support │ │ └───jasmine.json │ └───my-lib.spec.js └───my-lib.js 文件。然后我得到以下堆栈跟踪:

my-lib.spec.js

如果有人知道如何让WebStorm认识到全球安装的Jasmine很棒。

编辑:我按照lena的建议设置了一个Karma运行配置,其配置如下: Karma configuration

当我点击F5运行时,会弹出一个Chrome浏览器并显示空白(我已安装适用于Chrome的JetBrains插件)

4 个答案:

答案 0 :(得分:2)

您正在使用Node.js运行配置来运行测试 - 而Node对您的测试框架一无所知。你应该使用一个测试跑步者(例如,业力因为你已经安装了业力)。尝试使用karma运行配置。请参阅https://confluence.jetbrains.com/display/WI/Running+JavaScript+tests+with+Karma

顺便说一句,如果你喜欢和业力一起使用,请试试karma-should

答案 1 :(得分:1)

尝试使用jasmine-node模块。

这取决于按F5时发送到js文件的命令。它必须是jasmine-node <test files>而不是node <test files>

尝试在控制台/终端中执行此操作,看看它是否有效。可能是网络风暴发送了错误的命令。

如果您还没有安装jasmine节点,则可以

npm install jasmine-node -g

答案 2 :(得分:0)

使用mocha test.js,而不是node test.js

答案 3 :(得分:-1)

在您的主文件夹中,有一个'package.json'文件。 打开它,你会看到这样的东西:

{
  "name": "prep",
  "version": "1.0.0",
  "main": "server/server.js", //This can be different
  "scripts": {
    "lint": "eslint .",
    "start": "node .",
    "posttest": "npm run lint && nsp check"
  }, ....

然后在“开始”之后添加以下内容:“node。”,=&gt; “测试”:“茉莉花”。 它应该是这样的:

{
  "name": "prep",
  "version": "1.0.0",
  "main": "server/server.js",
  "scripts": {
    "lint": "eslint .",
    "start": "node .",
    "test": "jasmine",
    "posttest": "npm run lint && nsp check"
  },....

然后在终端

中运行'npm test'