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 中的业力:测试框架意外退出 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 Typescript 项目上运行业力覆盖时出现意外令牌

Specs2 测试无法在 IntelliJ 中原生运行

带有 CLion 的 Boost.TEST:“测试框架意外退出”

苹果mac电脑打开idea intellij 2021 启动失败 闪退 意外退出

用业力/茉莉花写测试

Jasmin + 业力:“错误:模块 'DynamicTestModule' 导入的意外值 'HttpClient'。请添加 @NgModule 注释。”