私はジャスミンでunitTestingを行う方法を学び始めています。私はインターネットやSOで多くを読むが、私は自分の問題を解決することはできません。uibModalプロバイダー不明unitTest
私にはコントローラーを持った指令があります。そのコントローラは、要素をクリックすると$ uibModalというサービスを使ってモーダルを開きます。私はテストからそのサービスを注入しようとしていますが、できません。私はインスタンスを渡す必要があると言っているスレッドをたくさん読んでいます。私はそうしようとしていますが、私はできません。助けていただければ幸いです。
.controller('myController', ['$scope', '$uibModal', function($scope, $uibModal){
var self = this;
//OTHER CODE
self.openMyModal = function(dataInput) {
var modalInstance = $uibModal.open({
animation: true,
bindToController: true,
templateUrl: 'app/myComponent/modals/component-modal.html',
controllerAs: 'componentModalCtrl',
controller: 'componentModalController',
windowClass: 'semi-modal semi-modal--large',
scope: $scope
})
}
//OTHER CODE
}
これは私がこのモーダルをモックしようとしているテストです。
beforeEach(function(){
angular.mock.module('templates');
angular.mock.module('app.components.myComponent');
angular.mock.inject(function($compile, $rootScope, $templateCache, $controller){
scope = $rootScope;
modalInstance = { close: function(){}, dismiss: function(){}, open: function(){}
};
//Initializing element and doing compile and digest
controller = $controller('myController', {$scope: scope, $uibModal: modalInstance});
})
私はエラー
不明プロバイダ取得しています:$ uibModalProvider < - $ uibModalを。
私はこのサービスを別の方法で注入できますか?私は間違っているの?
P.S:私はこのTesting AngularUI Bootstrap modal instance controller
Angular ui bootstrap $uibModalInstance breaks down unit tests
Mocking $modal in AngularJS unit tests