运行 jest 直接在 Intellij 中测试 Idea/WebStorm?

Running jest tests directly in Intellij Idea/WebStorm?

我正在使用 jest 在我的 ReactJS 应用程序中编写测试。 到目前为止,对于 运行 我的测试套件,我需要输入 'npm test'.

这是来自 package.npm 的片段:

 "scripts": {
    "test": "./node_modules/.bin/jest",
    (other stuff)
  },
  "jest": {
    "unmockedModulePathPatterns": ["<rootDir>/node_modules/react"],
    "scriptPreprocessor": "<rootDir>/node_modules/babel-jest",
    "testFileExtensions": [
      "es6",
      "js"
    ],
    "moduleFileExtensions": [
      "js",
      "json",
      "es6"
    ]
  },

是否可以在我的 IDE (IDEA/WebStorm) 中直接 运行 那些测试,同时保留配置?我不是 js 专家,但例如 WebStrom 与 Karma 配合得很好。 jest-cli 也不能做到这一点吗?

对于 IDEA,我正在使用 https://confluence.jetbrains.com/display/IDEADEV/Run+Configurations for that purposes. For WebStorm it seems you can add your config by yourself https://www.jetbrains.com/webstorm/help/creating-and-editing-run-debug-configurations.html。您所说的配置是在软件级别上的。如果您将通过 IDE 配置为 运行 它肯定会 运行 在给定的 ENV 变量和路径中,您只需要将所需的全局路径和命令添加到 运行.

要使 Jest 测试结果显示在树视图中(如 karma 等),需要特殊的集成。 WebStorm 还不支持 Jest。请投票给 WEB-14979 以获得有关任何进展的通知。


编辑:截至 2017 年 3 月,第一个版本的 Jest 集成在 WebStorm has been released

在WebStorm 9+中你可以这样设置:

  • 安装 Jest CLI:npm install --save-dev jest-cli

  • 创建节点 运行 配置,javascript 文件设置为 node_modules/.bin/jest,应用程序参数设置为 --runInBandrunInBand在单进程中告诉jest到运行,否则当运行在调试模式下连接多个节点进程

  • 时会发生端口冲突
  • 在调试模式下创建一些测试和 运行 配置 (Ctrl-D/CMD-D)。如果您在测试或应用程序代码中设置断点,它们应该命中

如果您可以在输出中单击 file:line numbers 直接转到代码,那就太好了。

app_sciences 的答案很棒,但不适用于 Windows。

对于windows,您可以使用下一个配置:

提供的配置来自 here