Довольно новый для этого
Мой контроллер, который я хочу проверить, находится ниже.
'use strict';
myApp.controller('myModalCtrl',
['$scope', '$uibModalInstance', 'title',
function ($scope, $uibModalInstance, title){
$scope.title = title
$scope.updateFiles = function () {
$scope.updateFile(); --> updateFile is in parent controller
$uibModalInstance.close();
};
$scope.cancel = function () {
$uibModalInstance.close();
};
}]);
Файл теста выглядит следующим образом
'use strict';
describe('Test Controller', function () {
var _myModalCtrl, _title, _scope;
var _modalInstance;
beforeEach(function () {
module('myApp');
inject(function ($controller, $rootScope) {
_scope = $rootScope.$new();
_modalInstance = {close: function () {
}};
_title = {
};
_myModalCtrl = $controller('myModalCtrl',
{
$scope: _scope,
$uibModalInstance: _modalInstance,
title: _title,
});
});
});
describe('Functions', function() {
it('Submit', function () {
_scope.updateFiles(); --> ** This is failing **
});
it('Cancel', function () {
_scope.cancel();
});
});
});
Я просто хочу иметь возможность протестировать оба updateFiles и убедиться, что updateFile запущен, и отменить метод, отменить, он работает нормально.Это связано с тем, что область видимости различна, и контроллеры, и метод File обновления находятся в другом файле?
Я получаю сообщение об ошибке "TypeError: undefined не является конструктором (оценивается '$ scope.updateFile)() ') in ... / myControl.js
Спасибо за помощь.