我安装了Webstorm 11,并希望运行使用Jasmine实现的测试(用于node.js应用程序)。 然而,这并不容易。我可以在命令行中键入'jasmine'命令来运行测试,但在这种情况下,我无法调试代码。 因此,是否有一种方法可以配置Webstorm以按照应有的方式处理jasmine规范?
我安装了Webstorm 11,并希望运行使用Jasmine实现的测试(用于node.js应用程序)。 然而,这并不容易。我可以在命令行中键入'jasmine'命令来运行测试,但在这种情况下,我无法调试代码。 因此,是否有一种方法可以配置Webstorm以按照应有的方式处理jasmine规范?
好的,目前没有人回答,我将尝试提供我的版本:
这个流程将允许从Webstrom运行jasmine测试套件并调试测试用例
在项目文件夹中创建名为“spec/support”的文件夹。在该文件夹中放置jasmine.json。
测试配置示例:
{
"spec_dir": "tests",
"spec_files": [
"**/*[sS]pec.js"
],
"helpers": [
"helpers/**/*.js"
]
}
在 Webstorm 中创建 node.js 配置
在此配置中选择源文件 - jasmine 可执行文件(对于本地安装的 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
有关更多详细信息,请参见这里:
这样可以让你运行 jasmine 测试并进行调试。 然而,仍然有一些事情无法实现:
Jetbrains,请您修复这个问题吧。我3年前开始在 Webstorm 中尝试使用 node,自那以后已经有数十个版本,但仍然没有一个好的方法来运行测试。这太荒谬了。
Jasmine使用JSTestDriver,WebStorm 11自带: 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
在高层次上,您需要:
load:
lib/jasmine/jasmine.js
lib/jasmine-jstd-adapter/JasmineAdapter.js
WebStorm不直接管理测试运行。这项工作由测试运行器完成。WebStorm支持多个测试运行器-Mocha,Karma,JsTestDriver,nodeunit。它们中的大多数都可以执行Jasmine测试