Impossible d'exécuter la Couverture avec Karma
Je suis en train de lancer la couverture avec le karma, et je reçois un avertissement: WARN [prétraiter]: ne Peut pas charger "couverture", il n'est pas inscrit!
J'ai pensé que j'ai installé la couverture quand j'ai couru 'npm install-g karma-couverture --save-dev'
Voici mon fichier de config:
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/'
}
});
};
- Avez-vous jamais obtenir ce résolu? Une chose que j'ai remarqué que parfois, lance des choses pour une boucle est global vs local d'installation. Souvent j'ai eu à utiliser un "npm lien" pour obtenir des choses à travailler. c'est à dire: mnp lien karma-la couverture de cette instance. Aussi, je pense que vous avez vraiment besoin de "karma" de couverture" dans votre liste de plugins.
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même [AVERTIR] parce que le plugin "karma" couverture " n'a pas été définie à l'intérieur pour les plugins de la config, essayez de voir si l'ajout d'elle corrige votre avertissement, vous ne savez pas si cela va résoudre votre problème.
Mise à JOUR:
J'ai aussi eu un autre problème lors de l'exécution de la couverture, causée par istanbul, mon erreur a été
[couverture]: [TypeError: Impossible de définir la propriété "couvert" undefined]
Après avoir un coup d'oeil ce que istanbul a à faire, il s'est avéré que les chemins d'accès à certains de mes js fichiers d'unités ont été dépassés dans le préprocesseurs.
Il était en train de faire certains des rapports de couverture, mais il n'était pas générer une couverture en profondeur des rapports pour tous les fichiers d'où l'erreur. Une fois que j'ai fixé les chemins qu'il était bon.
Pour ce que ça vaut, cela fonctionne très bien pour moi. Installé avec:
Config dans
karma.config.js
:Courir avec
karma start karma.config.js
./usr/local/bin/
et/usr/local/lib/node_modules
je pense.Pour ceux qui sont à l'aide de grognement de test pour exécuter le karma test, et le problème de la couverture plugin chargé pas question. S'il vous plaît ajouter le
plugins
paramètre dans votre Gruntfiles.js karama tâche, c'est à direJ'ai eu le même problème, jusqu'à ce que j'ai déménagé karma.conf.js dans le même répertoire que package.json, puis il a travaillé.
Ce problème est décrit dans la cette réponse.
Lors de l'utilisation à l'échelle mondiale installée de karma, il ne charge pas la localement des plugins installés. À l'aide de
node_modules/.bin/karma
pour commencer les essais doivent résoudre ce problème.L'installation de la couverture du module dans le mondial "espace de noms" fonctionne également mais n'est probablement pas ce que vous voulez.
J'ai installé le karma-la couverture à l'échelle mondiale, il a travaillé pour moi 🙂
Je pense que la bonne solution est
, NE PAS installer le karma à l'échelle mondiale
INSTALLER karma-cli à l'échelle mondiale et installer le karma localement
npm i -g karma-cli
référence: github