和哈士奇一起跑步如何躲避看守人?

Tom*_*Tom 1 command-line-interface npm jestjs husky

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

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npm run test
Run Code Online (Sandbox Code Playgroud)

package.json

"scripts": {
    "test": "cd packages/frontend && node scripts/test.js --watchAll",
    "prepare": "husky install"
  },
Run Code Online (Sandbox Code Playgroud)

现在我运行git push,哈士奇确实可以运行npm run test,但我无法退出 cli。 在此输入图像描述

我一直在搜索谷歌,大多数人似乎都在package.json而不是husky目录中配置哈士奇,但官方文档是这样做的。
知道如何解决这个问题吗?

ale*_*ero 6

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

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npm run test -- --watchAll=false

Run Code Online (Sandbox Code Playgroud)

问题

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

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

文档用于watchAll