参考错误:在使用Jasmine单元测试的Karma中未定义AngularJS

3

我实际上已经卡了几个小时了,我的老板希望我对我上周编写的功能进行单元测试,当我执行我的karma start karma.conf.js时,它会给出以下问题:

"message": "在afterAll中抛出了一个错误\n未捕获的引用错误:angular未定义",

我的文件结构如下:

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');
     });
   });
})();

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

谢谢,

保罗。

1个回答

5

Karma需要Angular文件来测试AngularJS代码。您需要在karma配置文件的文件数组中包含它。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接