2017-02-24 3 views
10

Selon this post (et Internet en général) si je veux exécuter un test Karma sans ce genre de commandes de couverture de code ...Set option de débogage dans Gulp Test Karma

__cov_9C0014nbzu2SxN3FICah6Q.f['35']++; 
__cov_9C0014nbzu2SxN3FICah6Q.s['138']++; 

... Je dois simplement pour définir l'option --debug dans le terminal comme ceci:

$ karma start karma.conf.js --browsers=Chrome --single-run=false --debug 

Cependant, lors de l'exécution de vos tests de Karma via une tâche Gulp la documentation semble manquer. J'utilise simplement un objet de configuration karma.start ci-dessous. J'ai essayé de définir la propriété debug sur true ou sur le strig '--debug', mais aucun ne semble avoir d'effet (bien que les tests soient exécutés/le coureur ne plante pas). Des idées pour définir l'option de débogage lors de l'exécution de vos tests Karma à partir d'une tâche Gulp?

Répondre

6

La définition de debug: true dans l'objet d'options que je transmets à karma.start fonctionne aussi bien que l'utilisation de --debug sur la ligne de commande. En d'autres termes, ce que vous avez dit que vous avez fait dans votre fichier Gulpfile pour obtenir l'option debug à Karma. Cependant,

J'ai besoin tout simplement de définir l'option --debug dans le terminal comme si

Non, la page que vous liez à des spectacles que vous besoin aussi de personnaliser votre configuration pour modifier la liste de préprocesseur de sorte que lorsque --debug est utilisé, la liste est vide. Le problème que vous avez est compatible avec avoir échoué à effectuer cette personnalisation correctement.

Voici comment la personnalisation a pu être effectuée. Cette interroge la valeur de config.debug de la configuration que Karma a déjà analysé à partir de la ligne de commande:

module.exports = function configure(config) { 
    config.set({ 
    // ... 
    preprocessors: { 
     "index.js": config.debug ? [] : ["coverage"], 
    }, 
    // ... 
    }); 
}; 

balayage process.argv pour --debug comme suggéré sur la page que vous avez pris l'idée de ne fonctionnera pas lorsque vous invoquez Karma de Gulp car l'option debug est passée directement à travers la configuration. L'inspection config.debug fonctionne à la fois sur la ligne de commande et lorsque Karma est invoqué via son API programmatique.

+0

Garanti, merci! – NealR