ReferenceError:使用Jasmine单元测试在Karma上未定义AngularJS

时间:2018-04-09 08:05:32

标签: angularjs unit-testing karma-jasmine

我实际上被困了几个小时,我的老板要我继续对我上周编码的功能进行单元测试,当我开始我的业力开始时karma.conf.js它给了我以下问题:

"message": "An error was thrown in afterAll\nUncaught ReferenceError: angular is not defined",

我的文件结构:

webapp
    -www
        -services
            api.service.js
    -test
        test.test.js
    karma.conf.js

karma.conf.js的基本要求:

module.exports = function(config) {
  config.set({
  files: [
    'www/js/services/api.service.js',
    'test/**/*.test.js'
  ],
})
}

我认为Karma找不到我的api.service.js,但我不知道为什么,angularjs代码实际上在webapp中工作。

我的test.test.js的内容:

(function() {
'use strict';

   describe('apiService', function() {

     it('should return an array of object', function() {
     var artist = typeof getArtist(118680); // MGMT Artist
     console.log(artist);
     expect(artist).toEqual('array');
     });
   });
})();

getArtist是我需要测试的函数,位于api.service.js。

谢谢,

保罗。

1 个答案:

答案 0 :(得分:1)

Karma需要angular文件来测试angularJS代码。您需要将它包含在karma配置的files数组中。

errorhandler.interceptor.ts