cloak angular2 angularjs gruntjs jasmine yeoman karma-runner

angularjs - angular2 - ng-init



¿Cómo arreglo mi proyecto generador-angular para que la prueba gruñona funcione? (3)

Estoy trabajando fuera de este tutorial: http://www.sitepoint.com/kickstart-your-angularjs-development-with-yeoman-grunt-and-bower/ como un medio para comprender qué archivos se crean usando yo generator-angular .

Tengo experiencia en el uso de AngularJS, pero estaba buscando una manera de obtener una configuración de directorio de mejores prácticas; No estoy seguro de cómo configurar las dependencias y ejecutar el karma por mi cuenta, por lo tanto, usar el generador yeoman.

Sin embargo, recién salido de la caja, sin editar nada más, cuando realizo la prueba ronca, obtengo lo siguiente:

running "clean:server" (clean) task Cleaning .tmp...OK Running "concurrent:test" (concurrent) task Running "copy:styles" (copy) task Copied 1 files Done, without errors Running "autoprefixer:dist" (autoprefixer) task Prefixed file ".tmp/styles/main.css" created. Running "connect:test" (connect) task Started connect web server on 127.0..0.1:9001. Running "karma:unit" (karma) task Warning: No provider for "framework:jasmine"! (resolving: framework:jasmine) Use --force to continue. Aborted due to warnings.

No entiendo por qué jazmín no tiene proveedor, y no estoy seguro de cómo resolver este problema. ¿Es una cuestión de arreglar mis archivos package.json y actualizar el nodo?

EDITAR: Aquí está el archivo de configuración:

// Karma configuration // http://karma-runner.github.io/0.10/config/configuration-file.html module.exports = function(config) { config.set({ // base path, that will be used to resolve files and exclude basePath: '''', // testing framework to use (jasmine/mocha/qunit/...) frameworks:[''jasmine''], // list of files / patterns to load in the browser files: [ ''app/bower_components/angular/angular.js'', ''app/bower_components/angular-mocks/angular-mocks.js'', ''app/bower_components/angular-resource/angular-resource.js'', ''app/scripts/*.js'', ''app/scripts/**/*.js'', ''test/mock/**/*.js'', ''test/spec/**/*.js'' ], // list of files / patterns to exclude exclude: [], // web server port port: 8080, // level of logging // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG logLevel: config.LOG_INFO, // enable / disable watching file and executing tests whenever any file changes autoWatch: false, // Start these browsers, currently available: // - Chrome // - ChromeCanary // - Firefox // - Opera // - Safari (only Mac) // - PhantomJS // - IE (only Windows) browsers: [''Chrome''], // Continuous Integration mode // if true, it capture browsers, run tests and exit singleRun: false });

};


El tema de github señalado por @Jim Schubert tiene este comentario:

La lista completa de dependencias de karma que necesitaba instalar para que funcionaran las pruebas (coffeescript).

npm install --save-dev karma-chrome-launcher karma-firefox-launcher karma-safari-launcher karma-opera-launcher karma-ie-launcher karma-jasmine karma-coffee-preprocessor


Parece que he solucionado mi problema, para cualquier persona con un problema similar:

Dentro de mi karma.conf.js agregué lo siguiente:

plugins: [ ''karma-chrome-launcher'', ''karma-jasmine'' ],

Al principio agregué ''karma-jazmín'' pero luego me encontré con "No se puede cargar" Chrome ", ¡no está registrado!" Esto fue resuelto agregando ''karma-chrome-launcher'' como un plug-in

No estoy seguro si fue mi culpa o si el generador angular no está actualizado, pero ahora está funcionando.


Si usó la bandera --coffee en el comando yo angular , deberá:

instale un iniciador de navegador (chrome en este caso) y los siguientes paquetes npm:

npm install --save-dev karma-chrome-launcher karma-jasmine karma-coffee-preprocessor

y agrega lo siguiente a tu archivo karma.conf.js:

plugins:[''karma-chrome-launcher'', ''karma-jasmine'', ''karma-coffee-preprocessor''], preprocessors:{''**/*.coffee'':[''coffee'']}

Después de eso, la grunt test ejecución de grunt test debería funcionar.