que modulos entre diferencia componentes componente angularjs angularjs-directive angularjs-scope jasmine karma-jasmine

angularjs - modulos - ¡El módulo ''plantillas'' no está disponible! en js angular?



que es un componente en angular (1)

No tengo experiencias previas con karma-ng-html2js-preprocessor así que esto es más como una suposición: ¿podría ser que el módulo de plantilla no se haya generado porque no se encontraron plantillas?

¿Podrías intentar cambiar esta parte de la sección de files de tu karma-config de:

''app/**/.html''

a:

''app/**/*.html''

y sección de preprocessors de:

preprocessors: { ''app/**/.html'':[''ng-html2js''] }

a

preprocessors: { ''app/**/*.html'':[''ng-html2js''] }

Actualizar:

Si eso no funciona para usted, puede establecer el nivel de registro de Karma en

logLevel: config.LOG_DEBUG

e intente buscar líneas que comiencen con DEBUG [preprocessor.html2js] para recopilar información adicional relacionada con el preprocesador html2js .

Estoy tratando de probar la directiva en angular usando Jasmine. Instalé karma-ng-html2js-preprocessor usando NPM. Luego inicié jQuery usando Bower pero obtengo este error

Connected on socket ndfTI8XJInIU5YJCAAAA with id 49983199 Chrome 47.0.2526 (Mac OS X 10.10.2) http controller test it should be one FAILED Error: [$injector:modulerr] Failed to instantiate module templates due to: Error: [$injector:nomod] Module ''templates'' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument. http://errors.angularjs.org/1.4.8/$injector/nomod?p0=templates at /Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:68:12 at /Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:2005:17 at ensure (/Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:1929:38) at module (/Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:2003:14) at /Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/a

Hice una directiva como esta

angular.module(''app'',[]).controller(''first'',function($scope,data){ $scope.name=''test''; $scope.message=''application''; data.getData().then(function(data){ console.log(data); }) }).factory(''data'',function($http){ return{ getData:getData } function getData(){ return $http.get(''data.json'').success(successCall).error(errorcallback) } function successCall(data){ return data } function errorcallback(data){ return data } }).directive(''helloWorld'',function(){ return { restrict:''E'', scope:{ data:''='', message:''@'' } , templateUrl:''app/partial/home.html'', link:function(s,e,a){ } } }) home.html <div class="dir"> <h1>{{data}}</h1> <h1>{{message}}</h1> </div>

test.js

describe(''http controller test'', function () { var $rootScope, $scope, $compile, $body=$(''body''), el, $el, controller, html=''<hello-world data="name" message="{{message}}"></hello-world>''; beforeEach(function(){ module(''templates'',''app'') ; inject(function($injector){ $rootScope = $injector.get(''$rootScope'') ; $compile = $injector.get(''$compile'') ; $scope=$rootScope.$new(); el=$compile(angular.element(html))($scope) controller =$injector.get(''$controller'')(''first'',{$scope:$scope}) }) $body.append(el); $rootScope.$digest(); $el=$(''.dir''); }) afterEach(function(){ $body.empty(); }) it(''it should be one'',function(){ expect($el.length).isEqual(1) }) describe(''Init value'',function(){ it(''check name value'',function(){ expect($scope.name).toEqual(''test''); }) }) it(''it should be true'',function(){ expect(true).toBeTruthy(); }) })

y hay archivo karma-config

// Karma configuration // Generated on Fri Dec 18 2015 19:53:32 GMT+0530 (IST) 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: [ ''bower_components/angular/angular.js'' , ''bower_components/jquery/dist/jquery.js'' , ''bower_components/angular-mocks/angular-mocks.js'' , ''bower_components/angular-resource/angular-resource.js'' , ''app/**/.html'', ''app/*.js'', ''test/**.js'' ], // list of files to exclude exclude: [ ], // preprocess matching files before serving them to the browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { ''app/**/.html'':[''ng-html2js''] }, ngHtml2JsPreprocessor:{ moduleName:''templates'' }, // 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: false, // Concurrency level // how many browser should be started simultanous concurrency: Infinity }) }

Ya he declarado el módulo de plantilla como este

ngHtml2JsPreprocessor:{ moduleName:''templates'' },

actualización 1

Connected on socket i5kkzULDwF1_ptvcAAAA with id 55433592 Chrome 47.0.2526 (Mac OS X 10.10.2) http controller test it should be one FAILED Error: [$injector:modulerr] Failed to instantiate module templates due to: Error: [$injector:nomod] Module ''templates'' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument. http://errors.angularjs.org/1.4.8/$injector/nomod?p0=templates at /Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:68:12 at /Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:2005:17 at ensure (/Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:1929:38) at module (/Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:2003:14) at /Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:4435:22 at forEach (/Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:340:20) at loadModules (/Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:4419:5) at Object.createInjector [as injector] (/Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular/angular.js:4344:11) at Object.workFn (/Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular-mocks/angular-mocks.js:2428:52) at window.inject.angular.mock.inject (/Users/naveenkumar/Documents/ionic_work/tes/bower_components/angular-mocks/angular-mocks.js:2411:37) http://errors.angularjs.org/1.4.8/$injector/modulerr?p0=templates&p1=Error%3A%20%5B%24injector%3Anomod%5D%20Module%20''templates''%20is%20not%20available!%20You%20either%20misspelled%20the%20module%20name%20or%20forgot%20to%20load%20it.%20If%