【发布时间】:2015-12-09 11:09:25
【问题描述】:
我安装了 Webstorm 11 并想运行我用 Jasmine 实现的测试(针对 node.js 应用程序)。 然而,要做到这一点并不容易。我可以只输入命令行 'jasmine' 命令并运行测试,但在这种情况下,我无法调试代码。 那么有没有办法配置 Webstorm 来处理应有的茉莉花规格?
【问题讨论】:
标签: javascript node.js unit-testing jasmine webstorm
我安装了 Webstorm 11 并想运行我用 Jasmine 实现的测试(针对 node.js 应用程序)。 然而,要做到这一点并不容易。我可以只输入命令行 'jasmine' 命令并运行测试,但在这种情况下,我无法调试代码。 那么有没有办法配置 Webstorm 来处理应有的茉莉花规格?
【问题讨论】:
标签: javascript node.js unit-testing jasmine webstorm
好的,虽然目前没有人回答,但我会尝试提供我的版本: 此流程将允许从 Webstrom 运行 jasmine testute 并调试测试用例
在项目文件夹中创建文件夹 'spec/support' 在此文件夹中放置 jasmine.json
测试配置示例:
{
"spec_dir": "tests",
"spec_files": [
"**/*[sS]pec.js"
],
"helpers": [
"helpers/**/*.js"
]
}
在 Webstorm 中创建 node.js 配置
在此配置中选择源文件 - jasmine 可执行文件(用于本地安装
茉莉花,它将是'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更多详情请查看there:
因此,这允许您运行 jasmine 测试并对其进行调试。但是,该解决方案仍有一些无法做到的事情:
Jetbrains,如果您阅读此内容 - 请已修复此问题。 3 年前,我开始在 Webstorm 中使用 node,从那一刻起,数十个版本仍然没有运行测试的好方法。这太荒谬了。
【讨论】:
Jasmine 可与 WebStorm 11 开箱即用的 JSTestDriver 配合使用: 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
在高层次上,您将:
加载:
lib/jasmine/jasmine.js
lib/jasmine-jstd-adapter/JasmineAdapter.js
【讨论】:
WebStorm 不直接管理测试运行。这项工作由测试运行人员完成。 WebStorm 支持多种测试运行器 - Mocha、Karma、JsTestDriver、nodeunit。他们中的大多数都可以执行 Jasmine 测试
【讨论】: