运行 哈士奇如何逃脱 Jest watchman?

How to escape Jest watchman when run with husky?

您好,我正在尝试将 husky 集成到我的流程中,但我找不到使其与 Jest watchman 一起工作的方法。
我的设置:
在根级别 .husky/pre-push

#!/bin/sh
. "$(dirname "[=11=]")/_/husky.sh"

npm run test

package.json

"scripts": {
    "test": "cd packages/frontend && node scripts/test.js --watchAll",
    "prepare": "husky install"
  },

现在我 运行 git push 并且 husky 确实可以通过 运行ning npm run test 工作,但我无法退出 cli。

我一直在搜索 google,大多数人似乎在 package.json 而不是 husky 目录中配置 husky,但 official docs 是这样做的。
知道如何解决这个问题吗?

您需要禁用 watchAll(交互模式)。

#!/bin/sh
. "$(dirname "[=10=]")/_/husky.sh"

npm run test -- --watchAll=false

问题

运行 jest 将启动 交互模式 等待用户输入,因此它不会 exit 一旦完成。如果这是您在本地 运行 的脚本,您需要手动指定它应该 运行 然后退出。

请注意,如果测试将由 circleci 进行 运行,则不必添加此内容,因为这是在 CI 环境中自动完成的。

Documentation for watchAll