2016-08-07 3 views
3

Здравствуйте, я пишу свой первый угловой тест с Жасмин, но я получаю ошибку здесь мой контроллер

(function() { 
    'use strict'; 
    var dependencies = []; 
    angular.module('entityEdit', dependencies) 
      .config(configFn) 
      .run(runFn) 
      .directive('entityEdit', ['BASE_PATH', entityEditDirective]) 
      .controller('EntityEditCtrl', ['$scope', '$rootScope','Entity', EntityEditCtrl]) 

    function EntityEditCtrl($scope, $rootScope,Entity) { 
     $scope.entity = {}; 
     $scope.list=[ 
      {'id':"1",'libelle':'A' }, 
      {'id':"2",'libelle':'B' }, 
     ] 
     $rootScope.$on('Entity_LIST_SELECTED', function (event, data) { 
      console.log("received"); 
      $scope.entity = data; 
     }); 
     $scope.save= saveFn;    
     function saveFn() 
     { 
      console.log("savefn"); 
      console.log($scope.entity); 
      Entity.updateEntity($scope.entity); 
     } 
    } 
    function runFn() { 
     console.log('Run : entityEdit'); 
    } 
    function configFn() { 
     console.log('Config : entityEdit'); 
    } 
})(); 

и вот мой тест жасмин

describe('EntityEditCtrl', function() { 
    var $rootScope, scope, $controller; 
    beforeEach(angular.mock.module('entityEdit')); 
    beforeEach(inject(function ($rootScope, $controller) { 
     scope = $rootScope.$new(); 
     $controller('EntityEditCtrl', { 
     $scope: scope 
    });  
    ctrl = $controller('EntityEditCtrl',function(){}); 
    }));  
    it('exists',inject(function($controller){ 
      expect(ctrl).toBeDefined();  
      expect(ctrl).not.toBeNull(); 
      expect(typeof ctrl).toBe('object'); 
    })); 
}); 

Если вы видите проблемы, пожалуйста, дайте мне знать

+0

Ошибка возникает из-за ошибки GammeEditCtrl. Вы показываете нам тест EntityEditCtrl. Покажите нам свой код REAL и сообщение об ошибке REAL и COMPLETE. –

+0

Что-то не хватает или ваш не объясняет все: P: Где GammeEditCtrl? – Skaparate

+0

Извините, пожалуйста, прочтите. Ошибка: [$ injector: unpr] Неизвестный поставщик: EntityProvider <- Entity <- EntityEditCtrl http://errors.angularjs.org/1.5.8/$injector/unpr?p0=EntityProvider%20%3C -% 20Entity% 20% 3C-% 20EntityEditCtrl в заголовке – Saad

ответ

1

модульного тестирования, и если вы хотите, чтобы проверить конкретный блок необходимо вводить каждый модуль-й at требуется внутри этого устройства, и здесь отсутствующий модуль является объектом.

describe('EntityEditCtrl', function() { 
var $rootScope, scope, controller,Entity; 
beforeEach(angular.mock.module(core.entity')); 
beforeEach(angular.mock.module('entityEdit')); 
beforeEach(inject(function ($rootScope, $controller,_Entity_) { 
    scope = $rootScope.$new(); 
    Entity=_Entity_; 
    controller=$controller('EntityEditCtrl', {$scope: scope});  
    }));  
it('exists',inject(function($controller){ 
     expect(ctrl).toBeDefined();  
     expect(ctrl).not.toBeNull(); 
     expect(typeof ctrl).toBe('object'); 
})); 
}); 
+0

, мы также должны добавить: beforeEach (angular.mockule (core.entity ')); – Saad

+0

@Abdelhak не уверен, почему вы приняли этот ответ, так как он не может сделать то, что исправит ошибку, о которой вы просите (и не дает никаких объяснений). –

+0

Этот ответ разрешает зависимостям модулей, которые нужно добавить (beforeEach (angular.mockule (core.entity '));) – Saad

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