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.