2016-06-17 3 views
0

Я пытаюсь запустить простой тест на директивах я построил, и я получаю следующую ошибку каждый раз, когда:тестирования angularjs директива с кармой и жасмином - модуль не определена

ReferenceError: module is not defined in /root/node-workspace/tk-quick-form/test.js (line 4) 

моей кармы .conf.js файл (релевантное содержание):

//... 
files: [ 
    'angular.min.js', 
    'tkQuickForm.js', 
    'test.js' 
], 
//... 

мой test.js файл:

describe('Testing quickForm', function() { 
    var $compile, $rootScope; 

    beforeEach(module('tkQuickForm')); //the error points to this line 

    beforeEach(inject(function(_$compile_, _$rootScope_) { 
     $compile = _$compile_; 
     $rootScope = _$rootScope_; 
    })); 

    it("Creates a simple form", function() { 
     $rootScope.formStructure = [ 
      { 
       fieldName: 'name', 
       type: 'string' 
      } 
     ]; 
     var element = $compile("<div tk-quick-form='formStructure'></div>")($rootScope); 

     $rootScope.$digest(); 
     expect(element.html()).toContain('<input id="name"'); 
    }); 
}) 

и это первые несколько строк директивы я тестирование:

angular.module('tkQuickForm', []) 
.directive('tkQuickForm', ['$http', '$compile', formDirective]); 

function formDirective($http, $compile) { 
    //some code... 
} 

Это первый раз для меня работать с кармой и Жасмин, так что я мог бы что-то отсутствует, а просто здесь, хотя я не могу понять, что именно.

+1

Попробуйте включить 'angular-mocks.js' в свои файлы karma.conf.js. Включите его сразу после «angular.min.js». – jtmingus

ответ

0

Для тестирования вы должны использовать модуль ngMock

https://docs.angularjs.org/api/ngMock

Это позволяет вводить и фиктивные угловые услуги.

Смежные вопросы