Испытательные контроллеры и компоненты AngularJS - PullRequest
0 голосов
/ 12 декабря 2018

Я использую Карму и Жасмин для проверки контроллера.Мой контроллер и компонент записаны в двух файлах:

module.component('A', {
  templateUrl: 'template.html',
  controller: 'YourController'
});

В другом файле я определил контроллер:

function() {
    'use strict';

    angular.module('app').controller('YourController',
            YourController);

    YourController.$inject = [ '$scope', '$http', '$window',
            '$rootScope' ];

    function YourController($scope, $http, $window, $rootScope) {       
        function yourcontrollerfunction() {
        }
        yourcontrollerfunction();               
    }
})();

Коды работают нормально.Однако, когда я использую Карму и Жасмин для тестирования контроллера, я всегда получаю сообщение об ошибке, что YourController не определен.Я не понимаю почему.Пожалуйста, дайте мне любые намеки.Спасибо!

describe('test1', function () {

  var $componentController;


  beforeEach(module('app'));

  beforeEach(angular.mock.inject(function(_$componentController_) {

  $componentController = _$componentController_;

  }));


  it('test controller', function () {

  var ctrl = $componentController('A',null);

  }); 


}); // end of describe
...