【发布时间】:2021-09-25 23:34:00
【问题描述】:
我正在尝试调试一些使用 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 设置如下所示:
要调试,我只需按 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 运行配置,配置如下:
当我按 F5 运行此程序时,Chrome 浏览器弹出并显示为空白(我安装了适用于 Chrome 的 JetBrains 插件)
【问题讨论】:
-
你不应该和应该一起使用摩卡吗?
-
你能要求('jasmine');在测试文件中?
-
你能弄明白吗?
-
从@lena 的回答中,我开始使用 Karma 来实现它。
标签: javascript node.js jasmine webstorm