gpt4 book ai didi

javascript - NodeJS、WebStorm 和 Jasmine : ReferenceError: describe is not defined when debugging

转载 作者:行者123 更新时间:2023-11-29 21:25:48 24 4
gpt4 key购买 nike

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

我的测试代码是这样的:

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

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

我的目录结构是这样的:


├───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

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

WebStorm Javascript Library Settings

要调试,我只需按 F5 并选择要运行的 my-lib.spec.js 文件。然后我得到以下堆栈跟踪:

"C:\Program Files (x86)\JetBrains\WebStorm 2016.1.2\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" --debug-brk=22714 my-lib.spec.js
Debugger listening on port 22714
c:\Users\<me>\WebstormProjects\my-lib\spec\my-lib.spec.js:4
describe("Scenario", () => {
^

ReferenceError: describe is not defined
at Object.<anonymous> (c:\Users\<me>\WebstormProjects\my-lib\spec\<my-lib>.js:4:1)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.runMain [as _onTimeout] (module.js:442:10)
at Timer.listOnTimeout (timers.js:92:15)

Process finished with exit code 1

如果有人知道如何让 WebStorm 识别 Jasmine 是全局安装的,那就太好了。

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

当我按 F5 键运行它时,Chrome 浏览器弹出并且是空白的(我安装了适用于 Chrome 的 JetBrains 插件)

最佳答案

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

顺便说一句,如果你喜欢将 Should 与 karma 一起使用,请尝试 karma-should

关于javascript - NodeJS、WebStorm 和 Jasmine : ReferenceError: describe is not defined when debugging,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37487342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com