从我的IDE发出调试angular2 / karma测试:断点永远不会被击中

时间:2017-02-13 10:52:51

标签: intellij-idea webpack karma-runner angular-cli

我试图从IntelliJ调试我的angular2业力测试无济于事。我甚至尝试过禁用代码覆盖率。

我的测试中的断点永远不会被击中。

这是我的业力配置:

// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html

module.exports = function (config) {
  config.set({
    basePath: '..',
    frameworks: ['jasmine', '@angular/cli'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-remap-istanbul'),
      require('@angular/cli/plugins/karma')
    ],
    customLaunchers: {
      // chrome setup for travis CI using chromium
      Chrome_travis_ci: {
        base: 'Chrome',
        flags: ['--no-sandbox']
      }
    },
    files: [
      {pattern: './src/test.ts', watched: false}
    ],
    preprocessors: {
      './src/test.ts': ['@angular/cli']
    },
    mime: { 'text/x-typescript': ['ts','tsx'] },
    remapIstanbulReporter: {
      reports: {
        html: 'coverage',
        lcovonly: './coverage/coverage.lcov'
      }
    },
    angularCli: {
      config: './angular-cli.json',
      environment: 'dev'
    },
    reporters: ['progress', 'karma-remap-istanbul'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false
  });
};

该应用程序由angular cli构建(它本身依赖于webpack)。

有人可以提出建议吗?

1 个答案:

答案 0 :(得分:2)

你使用什么cli版本?该问题可能是由v1.0.0-beta.21中引入的源映射默认值更改引起的:https://github.com/angular/angular-cli/compare/v1.0.0-beta.20-1...v1.0.0-beta.21

V1.0.0-beta.20-1:

devtool: 'inline-source-map'

V1.0.0-beta.21

devtool: testConfig.sourcemap ? 'inline-source-map' : 'eval',

可以通过在karma.conf.js中添加"sourcemap: true"来本地修复此问题:

module.exports = function (config) {
  config.set({
    ...
    angularCli: {
      config: './angular-cli.json',
      environment: 'dev',
      sourcemap: true
    }
    ...
  });
};