2016-09-07 4 views
-1

안녕 얘들 아 내가 때 점심 카르마 karma.conf.js유닛 테스트 카르마 - 자스민 오류

20%20%20%20at%20Object.createInjector%20%5Bas%20injector%5D%20(http%3A%2F%2Flocalhost%3A9876%2Fbase%2FWebContent%2Fassets%2Fjs%2Fangular1.4.3%2Fangular.js%3Fbede50a38baeba3db7a4df46069 5d01ecb437273%3A4272%3A11)%0A%20%20%20%20at%20Object.workFn%20(http%3A%2F%2Flocalhost%3A9876%2Fbase%2FWebContent%2Fassets%2Fjs%2Fangular1.4.3%2Fangular-mocks.js%3F8bc8772418adb9b2fa9517 2525c3540d23e140f4%3A2393%3A52)%0A%20%20%20%20at%20attemptSync%20(http%3A%2F%2Flocalhost%3A9876%2FC%3A%2FUsers%2FZack%2Fnode_modules%2Fjasmine-core%2Flib%2Fjasmine-core%2Fjasmine.js%3F3 91e45351df9ee35392d2e5cb623221a969fc009%3A1886%3A24) at WebContent/assets/js/angular1.4.3/angular.js:68:12 at forEach (WebContent/assets/js/angular1.4.3/angular.js:336:20) at loadModules (WebContent/assets/js/angular1.4.3/angular.js:4346:5) at Object.createInjector [as injector] (WebContent/assets/js/angular1.4.3/angular.js:4272:11) at Object.workFn (WebContent/assets/js/angular1.4.3/angular-mocks.js:2393:52) at WebContent/assets/js/angular1.4.3/angular.js:4385:15 Chrome 51.0.2704 (Windows 10 0.0.0): Executed 4 of 4 (1 FAILED) (0.117 secs/0.074 secs)

내 karma.conf.js 시작이 오류가있는 것은 :

module.exports = function(config) { 


config.set({ 
    // base path that will be used to resolve all patterns (eg. files, exclude) 
    basePath: '', 


// frameworks to use 
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter 
frameworks: ['jasmine'], 


// list of files/patterns to load in the browser 
files: [ 
    'WebContent/assets/js/angular1.4.3/angular.js', 
    'WebContent/assets/js/angular1.4.3/angular-*.js', 
    'WebContent/assets/js/**/*.js', 
    'WebContent/apps/gapsweb/**/*.js', 
    'WebContent/apps/gapsweb/gaps.bootstrap.js', 
    'WebContent/apps/gapsweb/components/**/*.test.js' 
], 


// list of files to exclude 
exclude: [ 
    'WebContent/assets/js/translation/*.js' 
], 


// preprocess matching files before serving them to the browser 
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor 
preprocessors: { 
}, 


// test results reporter to use 
// possible values: 'dots', 'progress' 
// available reporters: https://npmjs.org/browse/keyword/karma-reporter 
reporters: ['progress'], 


// web server port 
port: 9876, 


// enable/disable colors in the output (reporters and logs) 
colors: true, 


// level of logging 
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG 
logLevel: config.LOG_INFO, 


// enable/disable watching file and executing tests whenever any file changes 
autoWatch: true, 


// start these browsers 
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher 
browsers: ['Chrome'], 


// Continuous Integration mode 
// if true, Karma captures browsers, runs the tests and exits 
singleRun: true, 

// Concurrency level 
// how many browser should be started simultaneous 
concurrency: Infinity })}; 

그래서 문제가 무엇인가 ?? 내가 틀린 곳 ?? 헬 해줘서 고마워! !!

+0

재 스민 코드 –

+0

을 추가하십시오. ("A suite", function() { it "기대와 함께 사양 포함", function() { expect (true) .toBe (true); }}); }}); –

+0

그것은 단지 스크립트입니까? –

답변

0

이와 함께 간단한 자스민 테스트 작업에 그래서 :

'WebContent/assets/js/angular1.4.3/angular.js', 
    'WebContent/assets/js/jquery1.11.3/jquery.js', 
    'WebContent/apps/gapsweb/**/*.js', 
    'WebContent/apps/gapsweb/gaps.bootstrap.js', 
    'WebContent/apps/gapsweb/components/**/*.test.js' 

내가이 자스민 테스트를 작성할 때 (그것이 사용자 정의 지침의) :

:

describe('Test Menu Directive', function() { 
    var element, scope; 

    beforeEach(function(){ 
     module('CommonBusInfo'); 

     inject(function ($rootScope, $compile) { 
      scope = $rootScope.$new(); 
      element = angular.element('<jeep-menu application="{{codAppDirective}}"/>'); 
      $compile(element)(scope); 
      scope.$digest(); 
     }) 
    }); 
    it('proviamo ', function() { 
     console.log(111111); 
     var x = element.find('application'); 
     x.triggerHandler('application'); 
     scope.$digest(); 
    }); 

}); 

이이 오류를

 at WebContent/assets/js/angular1.4.3/angular.js:68:12 
     at forEach (WebContent/assets/js/angular1.4.3/angular.js:336:20) 
     at loadModules (WebContent/assets/js/angular1.4.3/angular.js:4346:5) 
     at Object.createInjector [as injector] (WebContent/assets/js/angular1.4.3/angular.js:4272:11) 
     at Object.workFn (WebContent/assets/js/angular1.4.3/angular-mocks.js:2393:52) 

%20%20%20%20at%20Object.createInjector%20%5Bas%20injector%5D%20(http%3A%2F%2Flocalhost%3A9876%2Fbase%2FWebContent%2Fassets%2Fjs%2Fangular1.4.3%2Fangular.js%3Fbede50a38baeba3db7a4df46069 5d01ecb437273%3A4272%3A11)%0A%20%20%20%20at%20Object.workFn%20(http%3A%2F%2Flocalhost%3A9876%2Fbase%2FWebContent%2Fassets%2Fjs%2Fangular1.4.3%2Fangular-mocks.js%3F8bc8772418adb9b2fa9517 2525c3540d23e140f4%3A2393%3A52)%0A%20%20%20%20at%20attemptSync%20(http%3A%2F%2Flocalhost%3A9876%2FC%3A%2FUsers%2FZack%2Fnode_modules%2Fjasmine-core%2Flib%2Fjasmine-core%2Fjasmine.js%3F3 91e45351df9ee35392d2e5cb623221a969fc009%3A1886%3A24) Chrome 51.0.2704 (Windows 10 0.0.0) Test Menu Directive proviamo FAILED ReferenceError: module is not defined at Object. (WebContent/apps/gapsweb/components/commons/menu/menu.directive.test.js:11:13) TypeError: Cannot read property 'find' of undefined at Object. (WebContent/apps/gapsweb/components/commons/menu/menu.directive.test.js:22:28) LOG: 6969 Chrome 51.0.2704 (Windows 10 0.0.0): Executed 2 of 2 (1 FAILED) (0.014 secs/0.007 secs)

지시어 :

angular.module("CommonBusInfo", []) 
.directive("jeepMenu", ['Restangular', function(Restangular){ 
    // Runs during compile 
    console.log("gapsMenuDirective"); 
    return { 
     restrict : 'E', 
     link : function (scope, element, attrs) { 
      var _urlTemplate = '',_codApp = attrs.application; 

      if(angular.equals(_codApp,'gaps') || angular.equals(_codApp,'lirico') || angular.equals(_codApp,'topolino')){ 
       var utente = scope.userLogged; 
       Restangular.one('users', utente.codUtente).one('readers', 'menu').one("commands", "menu") 
        .get() 
        .then(function (data) { 
         scope.loadingPercentage += 20; 
         scope.staticMenuTest = data.bodyResponse.dataWorkFlow.innerMenu; 
         _urlTemplate = 'components/commons/menu/menuDynamicView.html'; 
        },function(err){ 
         scope.loadingError = true; 
        }); 
       scope.staticMenuTest = []; 
      } 
      else{ 
       scope.loadingPercentage += 20; 
       scope.staticMenuTest = ''; 
      } 

      scope.getContentUrl = function(){ 
       return _urlTemplate; 
      } 
     }, 
     template: '<div ng-include="getContentUrl()"></div>' 
    }; 
}]) 
+0

https://github.com/Zacknero/UnitTest-Custom-Directive –

+0

그래서 문제는 어떻게 Restangular Service –

관련 문제