You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未配置test脚本时执行npm test运行什么?v6返回0是否在v7修复?

npm test默认脚本返回码版本差异说明

1. npm v6的默认行为

  • npm v6 执行npm init生成的package.json默认携带的test脚本为:echo 'Error: no test specified'
  • echo命令只要正常执行就会返回退出码0,因此即使输出了错误提示,整个npm run test的最终退出码就是0,这是v6的默认设计
  • v6不存在自动检测Jest、mocha等测试框架自动替换执行脚本的逻辑,只要你没有手动修改test脚本配置,就会执行默认的echo命令

2. npm v7及以上版本的改动

  • 从npm v7开始,官方修改了无自定义test脚本时的默认逻辑:未配置test脚本且未检测到可用测试框架的情况下,执行npm run test会直接抛出错误,返回退出码1,符合常规预期
  • 自动检测测试框架的逻辑也是v7版本才新增的特性,仅在v7及以上版本生效

3. 手动修改v6返回码的方法

如果要在npm v6环境下让未配置测试的npm run test返回1,直接修改package.json中的scripts配置即可:

{
  "scripts": {
    "test": "echo 'Error: no test specified' && exit 1"
  }
}

内容的提问来源于stack exchange,提问作者sdfiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 16:39:02