未指定脚本时在 'npm test' 上执行什么?

What executes on 'npm test' when script doesn't specified?

在我的项目中没有测试脚本,也没有 Jest 或 mocha,但是 npm run test 的结果是

> myproject@0.1.0 test /path/to/project
> echo 'Error: no test specified'

Error: no test specified

和return代码0,但逻辑上应该是代码1。

我知道配置标志 ignore-scripts 具有 false 值,但据我了解它是关于预脚本和 post- 脚本的。我还读到了 Jest,它是 npm 'smart' 并且可以检测到,但是正如之前所写的那样,没有 jest 包。

npm -v
6.14.13
node -v
v12.22.3

它是否仅适用于 npm v6?这是否已在 return 代码 1 的 v7 中修复?

请解释一下或提供一些链接,因为我找不到任何有用的东西

npm@7 中的行为已更改,现在会发生错误

https://github.com/npm/cli/blob/latest/CHANGELOG.md#npm-test