Не загружаются тестовые примеры, созданные в рамках karma-jasmine.

Я пытаюсь написать простой тестовый пример для контроллера, но он не дает никаких ошибок, а также не загружает написанный мной тестовый пример.

app.js

var myApp = angular.module('myApp',[ 'ui.bootstrap', 'dialogs', 'ui.router','base64','ngtimeago',
        'cfp.loadingBar', 'ngStorage', 'ngCookies', 'ngTable','ngRoute',
        'angularUtils.directives.dirPagination', 'ngSanitize','ngTagsInput',
        'ngIdle','angular.filter','angular-encryption','ngImgCrop']);

логинконтроллер.js

myApp.controller("loginController",['$scope','$rootScope','$state','APIServices','$http','$localStorage','cfpLoadingBar','$log','sha256','MFEEDBACK_CONSTANT_MESSAGES',
        function($scope, $rootScope, $state, APIServices, $http,$localStorage,cfpLoadingBar,$log,sha256) {
    var lc = this;
    lc.test = "hello";
}

логинконтроллер.specs.js

describe('Controllers', function(){
    beforeEach(module('myApp'));
    describe('loginController', function(){
        var loginController;
        beforeEach(inject(function($controller,$rootScope){
            var state,mockStorage,APIService,mockHTTP,mockLoadingBar,log,sha256,messages;
            var mockScope,mockRootScope = $rootScope.$new();
            loginController = $controller('loginController',{
                $scope:mockScope,$rootScope:mockRootScope,$state:state,APIServices:APIService,$http:mockHTTP,
                $localStorage:mockStorage,cfpLoadingBar:mockLoadingBar,$log:log,sha256:sha256,MFEEDBACK_CONSTANT_MESSAGES:messages
            });
        }));
        it('testCase1val should be working', function(){
            expect(loginController.test).toBe('hello');
        });
    });
});

получение вывода «Выполнено 0 из 0 ОШИБКА (0,005 сек / 0 сек)»

получение вывода Выполнено 0 из 0 ОШИБКА (0,005 сек/0 сек)


person Rushikesh Salunke    schedule 28.05.2018    source источник


Ответы (1)


Я не добавлял сторонние зависимости, которые есть в файле app.js. Самое главное, нам нужно добавить все необходимые сторонние файлы javascript в karma.conf.js. Затем, чтобы добавить эти зависимости в ваши модульные тесты, нам нужно создать фиктивный файл javascript и назвать его «ui.router.js».
и убедитесь, что файл должен содержать следующий код.

'use-strict';
angular.module('ui.router', []);

Нам нужно создать макет файла javascript для каждой зависимости, объявленной в файле «app.js», и добавить эти файлы в «karma.conf.js».
Затем загрузите их перед загрузкой модуля приложения следующим образом.

beforeEach(function(){
   module('ui.router');
   module('ngTagsInput');
   .
   .
   .
   module('all your third party depedencies.');
});
beforeEach(module('myApp'));
person Rushikesh Salunke    schedule 04.06.2018