J'essaye d'ajouter des tests unitaires à l'un de mes projets.
Jusqu'à présent, j'ai installé et configuré karma, et j'ai installé jasmine. J'ai un fichier de test dans mon test/
dossier.
Le serveur karma a démarré, la page du navigateur est prête, mais karma run
échoue comme suit:
$ karma run karma-conf.js
[2014-06-14 15:19:11.046] [DEBUG] config - Loading config /foo/test/karma-conf.js
Waiting for previous execution...
Chrome 35.0.1916 (Linux) ERROR
You need to include some adapter that implements __karma__.start method!
Ce message d'erreur ne fonctionne pas bien sur Google.
Est-ce quelque chose d'évident ou dois-je fournir plus d'informations?
karma-runner
karma-jasmine
Drew Noakes
la source
la source
Réponses:
Il semble que ce soit une erreur très générale, mais dans mon cas, le problème était soit que je n'ai pas exécuté à
karma start
partir du bon dossier, soit que je ne l'ai pas redémarré après avoir modifié la configuration.Je vais laisser cette question ouverte et j'espère qu'elle pourra devenir une ressource pour les autres qui rencontrent ce message d'erreur.
la source
karma start test/karma.conf.js
fait l'affaire pour moi. Le bon répertoire peut être différent pour vous.test/**/*.{js,jsx}
pourtest/**/*.+(js|jsx)
corriger cette erreur. Comme c'est bizarre!Si vous nommez votre fichier de configuration karma
karma.conf.js
, vous pouvez simplement taperkarma start
.Sinon, spécifiez le nom du fichier
karma start karmafile.js
(J'étais dans le bon répertoire, mais je ne spécifiais pas de nom de fichier.)
la source
Vous devez exécuter votre fonction
karma run
ou une autre fonction dans le dossier où se trouve karma-conf.js.la source
karma start
dans lesrc
sous-dossier oùkarma.conf.js
se trouve, j'obtiens une erreur[karma-server]: Server start failed on port 9876: Error: The '@angular-devkit/build-angular/plugins/karma' karma plugin is meant to be used from within Angular CLI and will not work correctly outside of it.
Dans mon cas, j'ai dû renommer le fichier en karma.conf.js puis faire démarrer le karma
la source
J'ai eu un problème avec
karma.conf.js
le format de code de fichier:La virgule supplémentaire dans le
files
tableau a causé cette erreur:la source
Je n'exécutais pas la commande karma start à partir du chemin où se trouvait mon karma.conf.js. Je suis passé à ce dossier et j'ai exécuté la même commande. C'est tout
la source
J'étais confronté à ce problème lors de l'exécution des spécifications sur la base de code Angular.js. J'ai dû courir
npm install karma-jasmine -g
pour que cela fonctionne.la source
Si vous tapez "karma start", vous devez avoir un fichier karma.conf.js dans le dossier courant. ou simplement "karma start /path/karma.conf.js"
Essayez de créer un nouveau karmar.conf.js par "karma init /path/karma.conf.js"
la source
Dans mon cas, j'appliquais par erreur le préprocesseur commonjs aux
karma-*
modules et auadapter.js
fromkarma-chrome
et j'aikarma-firefox
été cassé de cette façon.Malheureusement, c'est une erreur très générique.
la source
J'obtenais la même erreur car le projet utilisait Babel 6 et j'avais oublié d'ajouter le fichier babelrc. Juste partager au cas où cela pourrait aider.
la source
Dans mon cas, le message était en fait très descriptif: j'ai oublié d'ajouter un adaptateur, dans mon cas Jasmine, dans le fichier de configuration. Donc:
la source
Vous devez configurer votre fichier "my.conf.js", car il contient toutes les informations à utiliser pour tester votre code.
Tout ce que vous devez écrire est ceci:
Le fichier de configuration peut être généré en utilisant karma init:
Quel framework de test souhaitez-vous utiliser? Appuyez sur tab pour lister les options possibles. Entrez pour passer à la question suivante.
Voulez-vous utiliser Require.js? Cela ajoutera le plugin Require.js. Appuyez sur tab pour lister les options possibles. Entrez pour passer à la question suivante.
Voulez-vous capturer un navigateur automatiquement? Appuyez sur tab pour lister les options possibles. Entrez une chaîne vide pour passer à la question suivante.
Quel est l'emplacement de vos fichiers source et de test? Vous pouvez utiliser des modèles globaux, par exemple. "js / *. js" ou "test / ** / * Spec.js". Appuyez sur Entrée pour passer à la question suivante.
Doit-on exclure l'un des fichiers inclus dans les modèles précédents? Vous pouvez utiliser des modèles globaux, par exemple. "** / *. swp".
Voulez-vous que Karma surveille tous les fichiers et exécute les tests de changement? Appuyez sur tab pour lister les options possibles.
Fichier de configuration généré à "/Users/vojta/Code/karma/my.conf.js".
la source
Je dois ajouter que dans mon cas, karma me donnait l'erreur parce que j'avais des crochets [carrés] dans le nom d'un des dossiers parents.
la source
Le même problème m'est arrivé, et c'était dû à un module obsolète.
Courir l'a
npm update
résolu.la source
Tt se plaint de l'adaptateur qui est probablement jasmin ou moka. Soit l'adaptateur est manquant, soit il n'est pas configuré correctement, soit il s'agit d'une version obsolète ou boguée de l'adaptateur.
Dans mon cas, j'avais une ancienne version de mocha 2.5.3 qui n'était pas compatible avec karma 1+. J'ai mis à jour la dépendance mocha vers la dernière version disponible 3.2.0 et le problème a été résolu.
la source
Tout en travaillant sur de nombreuses erreurs vaguement décrites, j'ai essayé de définir basePath: '../', après avoir corrigé d'autres erreurs (comme des virgules manquantes qui étaient décrites comme des erreurs de contenu d'objet), le dernier changement de basePath: '', a fait fonctionner le karma. Les déclarations d'erreur de karma nécessitent beaucoup de travail. Ce n’est pas simple de le faire démarrer.
la source
J'ai eu le même problème. Mon navigateur s'ouvrirait mais sur mon terminal, il lançait l'erreur suivante
J'ai vérifié mon fichier karma.conf.js. Dans le tableau du framework, j'avais inclus jasmine et requirejs. Mais je n'avais installé que karma-jasmine. La suppression de requireJS et la réexécution du démarrage du karma fonctionnaient!
la source
Vous devrez spécifier le répertoire de
karma.config.js
démarrage de karma.Essayer
karma start karma.config.js
la source
J'ai eu une mauvaise configuration de 'fichiers' dans mon karma.conf.js
cela a rattrapé tous les fichiers dans node_modules / y compris ceux du plugin karma-jasmine, car il était vu comme des fichiers sourde, il n'était pas chargé au démarrage. Changer en
résolu le problème dans mon cas
la source
FWIW - la recherche du chemin du fichier a
karma.conf.js
fonctionné pour moi localement, mais pas sur mon générateur jenkins. Je n'ai aucune idée de pourquoi c'est le cas, mais sur jenkins, il lançait cette erreur à moins que lekarma.conf.js
fichier ne se trouve dans le répertoire racine où la commande karma a été donnée. J'utilise des rails et j'exécute les spécifications js via une tâche de râteau. Le code ci-dessous pourrait être utile pour certains.https://gist.github.com/daino3/a39486ff8bfc1668e923
la source
Le problème dans mon cas était que le karma ne ramassait aucun fichier. Le réparer dans karma.conf.js a résolu le problème.
la source
Dans mon cas, ce n'était pas du tout lié au karma! Je lance karma depuis gulp, avec ES6 / babel, et il y avait en fait une erreur de syntaxe de code, signalée par une erreur babel au-dessus de mon karma:
J'ai corrigé cela dans mon src et le karma était à nouveau heureux.
la source
J'ai aussi eu du mal avec ça. Ce à quoi je suis arrivé, c'est que cette erreur se produit pour l'une des raisons suivantes
karma.conf.js
de répertoire actuel ou pas de fichier de configuration spécifié dans la commande)Mon problème était que mon fichier de configuration était nommé
karma.config.js
au lieu dekarma.conf.js
.Si vous avez installé l' adaptateur de test mais qu'il ne fonctionne toujours pas, essayez de l'exécuter
karma init
et de suivre la configuration de configuration guidée.la source
Dans mon cas, le nom du fichier de configuration était différent . Donc, en exécutant la commande spécifiant le conf fichier résolu mon problème.
Et pour 'PhantomJS', ouvrir le lien spécifié ( localhost: 9876 ) dans le navigateur exécute les cas de test.
J'espère que ça aide. :)
EDIT 1: Mon fichier de configuration Karma
la source
J'ai reçu cette erreur car j'avais besoin de la même dépendance deux fois!
La suppression de la dépendance de fichier en double a supprimé l'erreur pour moi. Cerclé en bleu ci-dessous.
la source
Vous devez spécifier le fichier de configuration du karma sur karma.
Ça marche pour moi
la source