2016-08-07 10 views
3

Hallo ich mit Jasmin meine ersten Winkel Test schreibe, aber ich erhalte immer die Fehler hier ist mein Controller

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

und hier ist mein Jasmin Test

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

wenn Sie das Problem bitte mich

+0

Der Fehler beschwert sich über GammeEditCtrl. Sie zeigen uns den Test von EntityEditCtrl. Zeigen Sie uns Ihren REAL-Code und die REAL- und COMPLETE-Fehlermeldung. –

+0

Es fehlt etwas oder du erklärst nicht alles: P: Wo ist GammeEditCtrl? – Skaparate

+0

Bitte lesen Sie es. Fehler: [$ injector: unpr] Unbekannter Provider: EntityProvider <- Entity <- EntityEditCtrl http://errors.angularjs.org/1.5.8/$injector/unpr?p0=EntityProvider%20%3C -% 20Entity% 20% 3C-% 20EntityEditCtrl im Titel – Saad

Antwort

1

Unit-Tests wissen lassen, und wenn Sie eine bestimmte Einheit testen möchten, müssen Sie jedes Modul th injizieren at ist innerhalb dieser Einheit erforderlich, und hier ist fehlende Einheit Entität.

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

sollten wir auch hinzufügen: beforeEach (angular.mock.module (core.entity ')); – Saad

+0

@Abdelhak nicht sicher, warum Sie diese Antwort akzeptiert haben, da es nicht funktioniert, was den Fehler beheben würde, nach dem Sie fragen (und gibt keine Erklärung). –

+0

Diese Antwort lösen Modulabhängigkeiten, immer noch hinzufügen (beforeEach (angular.mock.module (core.entity '));) – Saad

Verwandte Themen