IntelliJ 中的业力:测试框架意外退出 [关闭]
Posted
技术标签:
【中文标题】IntelliJ 中的业力:测试框架意外退出 [关闭]【英文标题】:Karma in IntelliJ: Test framework quit unexpectedly [closed] 【发布时间】:2020-03-09 14:33:52 【问题描述】:搜索了这个错误,没有任何用处,所以在这里发布。
我对我的 Angular 应用程序进行了单元测试,当我运行或调试它时,它成功完成。当我运行代码覆盖率时,我得到了
13 11 2019 13:01:48.249:ERROR [karma-server]: TypeError: Cannot read property 'indexOf' of undefined
at Object.exports.arrayRemove (C:\casenet\sources\provider-portal\portal-client\node_modules\karma\lib\helper.js:109:26)
at _reporters.forEach (C:\casenet\sources\provider-portal\portal-client\node_modules\karma\lib\reporters\multi.js:15:50)
at Array.forEach (<anonymous>)
at MultiReporter.removeAdapter (C:\casenet\sources\provider-portal\portal-client\node_modules\karma\lib\reporters\multi.js:15:21)
at C:\Users\thehl\.IntelliJIdea2019.2\config\plugins\js-karma\js_reporter\karma-intellij\lib\intellijReporter.js:83:25
at Array.forEach (<anonymous>)
at C:\Users\thehl\.IntelliJIdea2019.2\config\plugins\js-karma\js_reporter\karma-intellij\lib\intellijReporter.js:81:33
at process._tickCallback (internal/process/next_tick.js:61:11)
13 11 2019 13:01:48.626:ERROR [karma-server]: TypeError: Cannot read property 'push' of undefined
at _reporters.forEach (C:\casenet\sources\provider-portal\portal-client\node_modules\karma\lib\reporters\multi.js:11:61)
at Array.forEach (<anonymous>)
at MultiReporter.addAdapter (C:\casenet\sources\provider-portal\portal-client\node_modules\karma\lib\reporters\multi.js:11:21)
at Server.<anonymous> (C:\casenet\sources\provider-portal\portal-client\node_modules\karma\lib\middleware\runner.js:41:18)
at Object.onceWrapper (events.js:277:13)
at Server.emit (events.js:194:15)
at Executor.schedule (C:\casenet\sources\provider-portal\portal-client\node_modules\karma\lib\executor.js:30:20)
at C:\casenet\sources\provider-portal\portal-client\node_modules\karma\lib\middleware\runner.js:92:22
at tryCatcher (C:\casenet\sources\provider-portal\portal-client\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (C:\casenet\sources\provider-portal\portal-client\node_modules\bluebird\js\release\promise.js:547:31)
at Promise._settlePromise (C:\casenet\sources\provider-portal\portal-client\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromise0 (C:\casenet\sources\provider-portal\portal-client\node_modules\bluebird\js\release\promise.js:649:10)
at Promise._settlePromises (C:\casenet\sources\provider-portal\portal-client\node_modules\bluebird\js\release\promise.js:729:18)
at Promise._fulfill (C:\casenet\sources\provider-portal\portal-client\node_modules\bluebird\js\release\promise.js:673:18)
at Promise._resolveCallback (C:\casenet\sources\provider-portal\portal-client\node_modules\bluebird\js\release\promise.js:466:57)
at Promise._settlePromiseFromHandler (C:\casenet\sources\provider-portal\portal-client\node_modules\bluebird\js\release\promise.js:559:17)
Cannot read property 'success' of undefined
TypeError: Cannot read property 'success' of undefined
at TestCommand.runSingleTarget (C:\casenet\sources\provider-portal\portal-client\node_modules\@angular\cli\models\packages\angular\cli\models\architect-command.ts:242:21)
另外,我在测试运行窗口中得到了这个:
"C:\Program Files\nodejs\node.exe" C:\Users\thehl\.IntelliJIdea2019.2\config\plugins\js-karma\js_reporter\karma-intellij\lib\intellijRunner.js --serverPort=9876 --protocol=http: --urlRoot=/ "--testName=^COMPONENT/CLIENT -> DynamicInputComponent "
C:\Users\thehl\.IntelliJIdea2019.2\config\plugins\js-karma\js_reporter\karma-intellij\lib\intellijRunner.js:60
throw e;
^
Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:111:27)
我尝试完全重启并将所有说 karma 的内容升级到当前版本。
甚至不知道从哪里开始调试。
【问题讨论】:
在运行具有覆盖率的 Angular 单元测试时没有问题......必须特定于您的项目设置。你能分享一个可以重现问题的项目吗?它不一定是您的生产代码,尝试创建一个具有类似配置的虚拟项目来显示问题 你能分享一下吗:karma.conf.js
, angular.json
请
【参考方案1】:
问题是由最近使用 karma-parallel 的更改引起的。我们将单元测试拆分为在 4 个单独的线程中运行,并使用 4 个单独的 Web 浏览器。
我从 package.json 和 karma.conf.js 中提取了 karma-parallel 的所有引用和定义。单元测试现在在 IntelliJ 中工作正常。
从现在开始,每次我想这样做时,我都必须回滚。
【讨论】:
以上是关于IntelliJ 中的业力:测试框架意外退出 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
带有 CLion 的 Boost.TEST:“测试框架意外退出”
苹果mac电脑打开idea intellij 2021 启动失败 闪退 意外退出
Jasmin + 业力:“错误:模块 'DynamicTestModule' 导入的意外值 'HttpClient'。请添加 @NgModule 注释。”