Karma堆栈显示javascript行号,而不是coffescript

Karma stacktraces showing javascript line numbers instead of coffeescript

本文关键字:coffescript 行号 堆栈 显示 javascript Karma      更新时间:2023-09-26

我正在使用Intellij运行一些Karma测试,其中一个测试失败了。我从输出中得到的stacktrace似乎给了我Javascript中的行,而不是CoffeeScript,这让我更难调试。有什么方法可以让stacktrace行以正确的Coffeescapet格式显示吗?

1。预处理器配置

确保您在karma.conf.js.中启用了预处理器设置

preprocessors: {
  '**/*.coffee': ['coffee']
},
coffeePreprocessor: {
  options: {
    bare: true,
    sourceMap: true
  },
  transformPath: function(path) {
    return path.replace(/'.js$/, '.coffee');
  }
}

如果你的karma.conf也在coffescript中(即karma.conf.coffee),它看起来是这样的:

preprocessors: '**/*.coffee': ['coffee']
coffeePreprocessor:
  options:
    bare: true
    sourceMap: true
  transformPath: (path) ->
    path.replace /'.js$/, '.coffee'

2.使用Karma的默认浏览器

确保你使用"Chrome"作为你的因果报应浏览器(而不是PhantomJS)。这也在你的因果报应配置中指定。

虽然PhantomJS确实允许将JS行号映射到Coffeescapet行号,但目前它做得不好。

browsers: ['Chrome']