una script por pasar pagina otro otra datos custom javascript code-coverage karma-runner

javascript - script - No se puede ejecutar la cobertura con Karma



pasar variables de un script a otro javascript (7)

Estoy intentando ejecutar la cobertura con karma y recibo la advertencia: WARN [preprocesamiento]: no se puede cargar "cobertura", ¡no está registrado!

Pensé que instalé cobertura cuando ejecuté ''npm install -g karma-cover --save-dev''

Aquí está mi archivo de configuración:

module.exports = function(config) { config.set({ // base path, that will be used to resolve files and exclude basePath: '''', frameworks: [''jasmine''], // list of files / patterns to load in the browser files: [ bunch of files.. ], // list of files to exclude exclude: [], // use dots reporter, as travis terminal does not support escaping sequences // possible values: ''dots'', ''progress'' // CLI --reporters progress reporters: [''progress'', ''coverage''], junitReporter: { // will be resolved to basePath (in the same way as files/exclude patterns) outputFile: ''test-results.xml'' }, // web server port // CLI --port 9876 port: 9876, // enable / disable colors in the output (reporters and logs) // CLI --colors --no-colors colors: true, // level of logging // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG // CLI --log-level debug logLevel: config.LOG_INFO, // enable / disable watching file and executing tests whenever any file changes // CLI --auto-watch --no-auto-watch autoWatch: true, // Start these browsers, currently available: // - Chrome // - ChromeCanary // - Firefox // - Opera // - Safari (only Mac) // - PhantomJS // - IE (only Windows) // CLI --browsers Chrome,Firefox,Safari browsers: [''ChromeCanary''], // If browser does not capture in given timeout [ms], kill it // CLI --capture-timeout 5000 captureTimeout: 20000, // Auto run tests on start (when browsers are captured) and exit // CLI --single-run --no-single-run singleRun: true, // report which specs are slower than 500ms // CLI --report-slower-than 500 reportSlowerThan: 500, // compile coffee scripts preprocessors: { ''someFileName'': [''coverage''], }, plugins: [ ''karma-jasmine'', ''karma-chrome-launcher'', ''karma-firefox-launcher'', ], coverageReporter: { ''type'' : ''cobertura'', ''dir'': ''coverage/'' } }); };


Creo que la solución correcta es

NO instales karma globalmente

INSTALA karma-cli globalmente e instala karma localmente

npm i -g karma-cli

Ese es el problema entonces, debe usar karma-cli globalmente, http://karma-runner.github.io/0.12/intro/installation.html Si instala karma globalmente, no usa la instalación local.

referencia: github


Este problema se describe en esta respuesta .

Cuando se utiliza un karma instalado globalmente, no se cargan los complementos instalados localmente. El uso de node_modules/.bin/karma para iniciar las pruebas debería resolver este problema.

La instalación del módulo de cobertura en el "espacio de nombres" global también funciona pero probablemente no es lo que desea.


Instalé cobertura de karma a nivel mundial, funcionó para mí :-)

npm install -g karma-coverage


Obtuve el mismo [WARN] porque el complemento ''cobertura-karma'' no se definió dentro de los complementos de la configuración, intente ver si agregarlo corrige su advertencia, no estoy seguro de si solucionará su problema completo.

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

ACTUALIZAR:
También tuve un problema diferente al ejecutar la cobertura, causada por Estambul, mi error fue

[cobertura]: [TypeError: no se puede establecer la propiedad ''cubierta'' de undefined]

Después de echar un vistazo a lo que estaba haciendo Estambul, resultó que las rutas a algunos de los archivos de mi unidad js estaban desactualizadas en los preprocesadores .

Estaba realizando algunos de los informes de cobertura, pero no generaba informes de cobertura profundos para todos los archivos, de ahí el error. Una vez que arreglé los caminos todo estuvo bien.

preprocessors : { ''**/app/js/*/*.js'' : ''coverage'', ''**/app/js/modules/*/*.js'' : ''coverage'', ''**/app/js/services/*/*.js'' : ''coverage'' },


Para aquellos que están usando la prueba de gruñido para ejecutar la prueba de karma, y ​​tienen el problema del problema del complemento de cobertura no cargado. Agregue la configuración de plugins en su tarea karama Gruntfiles.js, es decir

// Test settings karma: { unit: { configFile: ''test/karma.conf.js'', singleRun: true, plugins:[ ''karma-jasmine'', ''karma-coverage'', ''karma-phantomjs-launcher'' ], } }


Por lo que vale, esto funciona bien para mí. Instalado con:

npm install -g karma npm install -g karma-coverage

Config en karma.config.js :

module.exports = function(config) { config.set({ basePath: '''', frameworks: [''jasmine''], files: [''app.js'',''tests.js''], preprocessors: { ''app.js'': ''coverage'' }, reporters: [''dots'', ''coverage''], port: 9876, colors: true, logLevel: config.LOG_INFO, autoWatch: true, browsers: [''Chrome''], captureTimeout: 60000, singleRun: false }); };

Ejecutar con karma start karma.config.js .


Tuve el mismo problema, hasta que moví karma.conf.js al mismo directorio que package.json, luego funcionó.