Angularjs Юнит тестирование с многопараметрическим контроллером кармы и жасмина - PullRequest
0 голосов
/ 27 ноября 2018

Я использую угловой 1.6.В данный момент начинаю работать над юнит-тестированием.Это мой контроллер

angular.module('myModule').controller('MyCtrlr', MyCtrlr);
    function MyCtrlr($scope, $mdDialog, ajaxCall) {
         this.mode = 'Hello';
    }

Это мой тестовый файл.

describe('Controllers', function() {
var $controller, $rootScope;
beforeEach(module('myModule'));

beforeEach(inject(function(_$controller_, _$rootScope_){
    $controller = _$controller_;
    $rootScope = _$rootScope_;
}));
describe('Mode should be Hello', function() {
    it('Should be Hello', function() {
        var $scope = $rootScope.$new();
        var controller = $controller('MyCtrlr', { $scope: $scope});
        expect(controller.mode).toBe('Hello');
    });
});

});

Я не могу удалить $ mdDialog и ajaxCall, потому что мне нужно использовать их в этом контроллере позже.

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

    Error: [$injector:unpr] Unknown provider: $mdDialogProvider <- $mdDialog <- MerchantController
    https://errors.angularjs.org/1.7.5/$injector/unpr?p0=%24mdDialogProvider%20%3C-%20%24mdDialog%20%3C-%20MerchantController in bower_components/angular/angular.js (line 4905)
    bower_components/angular/angular.js:4905:86
    getService@bower_components/angular/angular.js:5065:39
    bower_components/angular/angular.js:4910:48
    getService@bower_components/angular/angular.js:5065:39
    injectionArgs@bower_components/angular/angular.js:5090:68
    instantiate@bower_components/angular/angular.js:5134:31
    $controller@bower_components/angular/angular.js:11688:39
    bower_components/angular-mocks/angular-mocks.js:2555:23
    test/blacklistMerchantsTest.js:12:41
    <Jasmine>

Было бы полезно, если бы кто-нибудь помог мне решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...