使用 --code-coverage 进行角度测试时出现 Karma 加载错误:“错误:发现 1 个加载错误”

问题描述 投票:0回答:1

使用

--code-coverage
运行 Angular 测试时遇到持续的“加载错误”。此错误仅在使用命令 ng test
--no-watch --code-coverage
时发生;否则,在没有
ng test
的情况下运行
--code-coverage
效果很好。

Karma Configuration (karma.conf.js):

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage'),
      require('@angular-devkit/build-angular/plugins/karma')
    ],
    client: { clearContext: false },
    coverageReporter: {
      dir: require('path').join(__dirname, '../coverage/DATAGERRYApp'),
      reporters: [{ type: 'html' }, { type: 'lcovonly' }, { type: 'text-summary' }],
      fixWebpackSourcePaths: true
    },
    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_DEBUG, // Enabled for detailed logging
    autoWatch: true,
    browsers: ['ChromeHeadless'],
    singleRun: true,
    restartOnFileChange: true
  });
};

**使用的命令: **

ng test --no-watch --code-coverage

**错误输出: **

Error: Found 1 load error at Server.<anonymous> (/path/to/project/node_modules/karma/lib/server.js:243:26)

我尝试过的步骤:

  • 清除了node_modules并重新安装了依赖项。
  • 更新了 karma.conf.js 以使用 karma-coverage 而不是 karma-coverage-istanbul-reporter。
  • 运行 ng build --configuration 测试来检查循环依赖关系。
  • 使用 ng cache clean 清除了 Angular 缓存。
angular angularjs testing karma-jasmine karma-coverage
1个回答
0
投票

我认为您的操作系统中未安装 google chrome。尝试安装 chrome 并运行命令。

© www.soinside.com 2019 - 2024. All rights reserved.