无法在业力测试中加载非常简单的模块

could not load a very simple module in a karma test

我无法将一个非常简单的 angular 模块加载到业力测试中。

我的模块看起来,(karmatest_test0.js)

模块没有controllers/services。只为最简单。

'use strict';

var Whosebug_test = angular.module("Whosebug_test_app", []);

我的测试看起来,(karmatest\test0.js)

我在这里唯一做的就是加载这个模块

'use strict';

describe("Whosebug_test", function(){

  it("init the service", function(){

      var $injector = angular.injector(['Whosebug_test_app']);

      expect(true).toBe(true);

  });

});

我的配置文件看起来,(my.conf.js)

一切都是最基本的。我确实包含了来自 Google CDN 的 angular.js 和 angular-mock.js。

    // Karma configuration
    // Generated on Wed Oct 28 2015 18:37:16 GMT-0700 (Pacific Daylight Time)

    module.exports = function(config) {
      config.set({

        // base path that will be used to resolve all patterns (eg. files, exclude)
        basePath: '',


        // frameworks to use
        // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
        frameworks: ['jasmine'],


        // list of files / patterns to load in the browser
        files: [          

'https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js',
          'https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-mocks.js',
          'karmatest_test.js',
          'karmatest/*.js'
        ],


        // list of files to exclude
        exclude: [
        ],

        reporters: ['mocha', 'html'],

        port: 9876,

        colors: true,

        logLevel: config.LOG_INFO,

        autoWatch: true,

        browsers: ['PhantomJS'],

        singleRun: true,

        concurrency: Infinity
      })
    }

一切都是最简单的。错误是,

Error: [$injector:modulerr]

 at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:35
    at r (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:7)
    at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:35)
    at ab (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:38)
    at http://localhost:9876/base/karmatest/test0.js?7c002471b6c0067e24cfb8de0e5048f9581f112e:19

看起来错误源于我的测试不会加载模块 "Whosebug_test"。怎么会?

如果这应该是您模块的创建,您应该将两个参数传递给angular.module;依赖项的名称和数组。

var Whosebug_test = angular.module("Whosebug_test_app", []);

否则,它充当getter。参见 https://docs.angularjs.org/api/ng/function/angular.module#usage


此外,您的文件 似乎 被命名为 karmatest_test0.js 但您的 Karma conf.js 需要 karmatest_test.js.