Angular.js注入器错误没有给出关于Karma测试中缺少依赖关系的任何提示

时间:2017-10-03 08:23:48

标签: angularjs testing karma-runner

我正在尝试为我的Angular.JS应用程序创建一些简单的测试,但遗憾的是,由于Angular / Karma的输出很短,我无法解决缺失的依赖项(?)

我的Karma配置如下:

module.exports = function (config) {
config.set({
    basePath: '',
    singleRun: true,
    autoWatch: false,
    frameworks: ['jasmine'],
    browsers: ['PhantomJS'],
    preprocessors: {
        './src/app/myApp.app.js': ['babel']
    },
    files: [
        './node_modules/angular/angular.js',
        './node_modules/angular-mocks/angular-mocks.js',
        './src/app/myApp.app.js',

        './test.js'
    ],
    plugins: [
        'karma-mocha-reporter',
        'karma-jasmine',
        'karma-babel-preprocessor',
        'karma-phantomjs-launcher'
    ],
    babelPreprocessor: {
        options: {
            presets: ['env'],
            sourceMap: 'inline'
        },
        sourceFileName: function (file) {
            return file.originalPath;
        }
    },
    reporters: ['mocha']
});
}

我在这里做的基本上包括角度,角度模拟,我的应用程序的入口模块和一个带测试的文件。当然,现在缺少一些依赖项,但我只想添加必需的依赖项(并了解karma start之后缺少的步骤。)

不幸的是,在运行karma start之后,我只能看到测试失败了,而这就是全部 - 仅此而已(例如,在运行时,您可以在浏览器控制台中看到'丰富'错误消息,基于此可以包括缺少依赖项)。看看这个错误:

  x it should do something funny
    PhantomJS 2.1.1 (Mac OS X 0.0.0)
  node_modules/angular/angular.js:4693:53
  forEach@node_modules/angular/angular.js:325:24
  loadModules@node_modules/angular/angular.js:4653:12
  createInjector@node_modules/angular/angular.js:4575:30
  WorkFn@node_modules/angular-mocks/angular-mocks.js:3120:60

就是这样。如果我包含Angular的缩小版本,我会看到类似浏览器的错误消息,基于此我可以添加所需的依赖项。对于非缩小版本,它的工作方式与我所描述的一样。所以我的问题是 - 如何在业力测试中制作丰富的错误信息?

0 个答案:

没有答案