我正在尝试调试我使用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设置如下所示:
要调试我只是按 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运行配置,其配置如下:
当我点击F5运行时,会弹出一个Chrome浏览器并显示空白(我已安装适用于Chrome的JetBrains插件)
答案 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'