繁体   English   中英

为什么 NPM 运行测试命令失败并出现 npm ERR? 代码生命周期错误?

[英]Why NPM run test command fails with npm ERR! code ELIFECYCLE Error?

我的 Angular CI 构建在 NPM 测试任务中失败,我正在 CI 中运行npm run Test:sonar命令。

测试:声纳在顶部的 package.json 文件中定义,详细信息如下,

"test:sonar": "node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng test --watch=false --code-coverage --karma-config=src/karma.conf.sonar.js" ,

目前,我在 CI 上遇到错误,如果手动执行 npm 运行测试:声纳,

2020-06-04T10:12:40.5784545Z Browserslist: caniuse-lite is outdated. Please run next command `npm update`
2020-06-04T10:12:41.7505089Z [32m04 06 2020 06:12:41.749:INFO [framework:karma-parallel]: [39msharding specs across 3 browsers
2020-06-04T10:13:03.9245412Z [32m04 06 2020 06:13:03.921:INFO [karma-server]: [39mKarma v4.1.0 server started at http://0.0.0.0:9876/
2020-06-04T10:13:03.9245412Z [32m04 06 2020 06:13:03.921:INFO [launcher]: [39mLaunching browsers Chrome, Chrome, Chrome with concurrency unlimited
2020-06-04T10:13:03.9245412Z [32m04 06 2020 06:13:03.921:INFO [launcher]: [39mStarting browser Chrome
2020-06-04T10:13:04.0026773Z [32m04 06 2020 06:13:03.999:INFO [launcher]: [39mStarting browser Chrome
2020-06-04T10:13:04.0339834Z [32m04 06 2020 06:13:04.030:INFO [launcher]: [39mStarting browser Chrome
2020-06-04T10:13:55.9279235Z [32m04 06 2020 06:13:55.925:INFO [Chrome 83.0.4103 (Windows 10.0.0)]: [39mConnected on socket gpO5ue6BN2Mpg7E1AAAB with id 40174053
2020-06-04T10:13:55.9369226Z [32m04 06 2020 06:13:55.929:INFO [Chrome 83.0.4103 (Windows 10.0.0)]: [39mConnected on socket detlQaSArnTujK4UAAAA with id 82416436
2020-06-04T10:13:55.9369226Z [32m04 06 2020 06:13:55.931:INFO [Chrome 83.0.4103 (Windows 10.0.0)]: [39mConnected on socket mhjlHwvj60_SZr0tAAAC with id 99954543
2020-06-04T10:15:08.0931637Z [33m04 06 2020 06:15:08.091:WARN [launcher]: [39mChrome was not killed in 2000 ms, sending SIGKILL.
2020-06-04T10:15:08.4838243Z npm ERR! code ELIFECYCLE
2020-06-04T10:15:08.4838243Z npm ERR! errno 1
2020-06-04T10:15:08.4838243Z npm ERR! nextgen@0.0.1 test:sonar: `node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng test --watch=false --code-coverage --karma-config=src/karma.conf.sonar.js`
2020-06-04T10:15:08.4994524Z npm ERR! Exit status 1
2020-06-04T10:15:08.4994524Z npm ERR! 
2020-06-04T10:15:08.4994524Z npm ERR! Failed at the nextgen@0.0.1 test:sonar script.
2020-06-04T10:15:08.4994524Z npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2020-06-04T10:15:08.4994524Z 
2020-06-04T10:15:08.4994524Z npm ERR! A complete log of this run can be found in:
2020-06-04T10:15:08.4994524Z npm ERR!     C:\Users\svc_TFSservice\AppData\Roaming\npm-cache\_logs\2020-06-04T10_15_08_499Z-debug.log

还添加了 CMD 提示的屏幕截图,不确定是由于 chrome 超时还是其他导致此错误的原因。 几个月以来我一直在使用它,直到今天它运行良好。 对此的任何建议或帮助都会很棒。

同时,我还将寻找导致此错误的任何其他解决方案\原因。

在此处输入图像描述

这个错误往往很令人困惑,但您对 Chrome 位的看法是正确的。 实际错误是测试脚本被测试运行程序杀死,正如最终警告消息所指出的那样:

2020-06-04T10:15:08.0931637Z [33m04 06 2020 06:15:08.091:WARN [launcher]: [39mChrome was not killed in 2000 ms, sending SIGKILL.

您可能正在通过npm run <>命令调用测试,这就是错误消息中提到的“生命周期”脚本。 这些scripts可以用作npm提供的更大挂钩集的一部分,以挂钩到 package 构建/安装生命周期。 这是一个通用的错误消息,让你离开这里。

我能够通过在 karma.conf.sonar.js 文件中将 executors 的值从 3 更新为 4 来解决此问题。 因为它必须执行超过 1700 多个测试用例,我认为 3 个 chrome 无法执行它们,因此将其更新为 4 个停止抛出错误。

目前 npm 测试在 CI 构建和 CMD 提示下工作正常。

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM