Angular 6.0 和 Karma Jasmine - 浏览器在测试完成后关闭

Angular 6.0 and Karma Jasmine - browser closes after test finish

我目前正在研究 Angular 6.0 的单元测试。我正在使用与新 Angular 项目捆绑在一起的 Karma 和 Jasmine 来 运行 测试。测试 运行 一切正常,但是浏览器在每次测试后自动关闭 运行,这意味着任何失败的测试都变得几乎无法调试。

我试过配置,但没有成功。我很确定没有任何东西覆盖配置,我知道使用了这个配置(例如,在修改浏览器数组后,我现在启动了多个浏览器)。

我通过 运行ning 'ng test' 命令执行测试。尝试执行 'karma start' 似乎不起作用 - 不确定这是否相关。

这是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-edge-launcher'),
      require('karma-firefox-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage-istanbul-reporter'),
      require('@angular-devkit/build-angular/plugins/karma')
    ],
    client: {
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    coverageIstanbulReporter: {
      dir: require('path').join(__dirname, '../coverage'),
      reports: ['html', 'lcovonly'],
      fixWebpackSourcePaths: true
    },
    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome', 'Firefox', 'Edge'],
    singleRun: false
  });
};

'singleRun' 似乎与 autoWatch 一样没有任何效果。

这是 angular 6 中的错误。github issue is here

解决方法是 ng test --watchHat tip Ryan McCormick