Angular 12 npm运行测试抛出“无法加载颜色版本”

slsn1g29  于 2023-10-19  发布在  Angular
关注(0)|答案(2)|浏览(104)

我们最近将我们的应用程序从angular 6迁移到12,一切看起来都很好,我能够运行应用程序(npm start正在工作)并测试UI功能,但当我在本地运行我的angular单元测试(npm run test)时,它抛出错误,这只发生在我的机器上(其他对等体没有单元测试运行的问题)

03 03 2022 09:17:14.914:DEBUG [reporter]: Trying to load reporter: @angular-devkit/build-angular--event-reporter
03 03 2022 09:17:14.927:DEBUG [reporter]: Trying to load color-version of reporter: @angular-devkit/build-angular--event-reporter (@angular-devkit/build-angular--event-reporter_color)
03 03 2022 09:17:14.930:DEBUG [reporter]: Couldn't load color-version.
03 03 2022 09:17:14.932:DEBUG [reporter]: Trying to load reporter: @angular-devkit/build-angular--sourcemap-reporter
03 03 2022 09:17:14.933:DEBUG [reporter]: Trying to load color-version of reporter: @angular-devkit/build-angular--sourcemap-reporter (@angular-devkit/build-angular--sourcemap-reporter_color)
03 03 2022 09:17:14.942:DEBUG [reporter]: Couldn't load color-version.

我试着重新安装node/node/npm安装一切....仍然没有运气
以前有人见过这个错误吗?感谢您的回复……

omjgkv6w

omjgkv6w1#

“Couldn 't load color-version”是一条调试级消息,通知您Karma无法找到报告程序的“彩色”版本(@angular-devkit/build-angular--event-reporter_color)。
您可能会在本地而不是其他地方看到此消息的一个原因是您将日志级别设置为debug(--log-level debug)。

a8jjtwal

a8jjtwal2#

TLDR

这些消息只能在调试日志中找到,可以忽略。

血淋淋的细节

在Karma中,这里有一个负责此输出的Reporters函数,只有当日志记录级别设置为debug时才能看到。
https://github.com/karma-runner/karma/blob/master/lib/reporter.js
在加载每个报告器之后,代码继续加载报告器的彩色版本,代码如下:

const colorName = name + '_color'
if (!names.includes(colorName)) {
  try {
    log.debug(`Trying to load color-version of reporter: ${name} (${colorName})`)
    reporters.push(injector.createChild([locals], ['reporter:' + colorName]).get('reporter:' + name))
  } catch (e) {
    log.debug('Couldn\'t load color-version.')
  }
}

在about代码中,来自配置的报告器名称列表被迭代,'name'指的是当前正在加载的报告器名称。在加载该报告器之后,假设找到了它,代码然后尝试加载一个带有该名称加上附加到它的'_color'的报告器(假设配置没有另外列出name + '_color'扩展名,使其成为必需的)。如果无法加载没有“_color”名称的报告器,则会写入一条错误消息并发出一个事件,说明存在加载错误。但是,无法加载'_color'版本(扩展名?)只会导致发出调试消息,否则该消息不会出现在日志中,并且不会发出加载错误。据推测,无法加载'_color'版本不会带来任何特殊问题。
仅供参考,根据代码,DOTS和PROGRESS报告器似乎有一个颜色扩展是必需的。由于DOTS和PROGRESS是Karma的一部分,因此不需要加载任何其他内容就可以找到它们,实际上,可以在上述引用的代码文件附近的reporters文件夹中找到颜色扩展。

相关问题