web-dev-qa-db-fra.com

Comment puis-je obtenir une liste des tests réussis de karma runner suite?

Lorsque j'exécute le karma sur ma webapp, je ne reçois que des messages génériques comme des tests réussis - existe-t-il un moyen d'obtenir une liste de tests réussis? Comment obtenir une sortie plus détaillée?

Je ne trouve cela nulle part dans la documentation.

40
Amit Erandole

Je sais comment cela peut être fait!

La sortie du terminal de Karma provient d'objets appelés Reporters. Karma est livré avec certains Reporters intégrés (ils peuvent être trouvés dans karma/lib/reporters). Karma peut également utiliser des Reporters personnalisés.

Vous pouvez spécifier les journalistes à utiliser dans le fichier karma.config.js De votre projet.

Par exemple, le reporter "points" imprime juste un point lorsque chaque test réussit:

reporters: ['dots'],

Le journaliste "progrès" imprime plus que des points:

reporters: ['progress'],

Le reporter personnalisé karma-spec-reporter affiche le nom de chaque test lorsque le test réussit ou échoue (mais pas grand-chose d'autre):

reporters: ['spec'],

Vous voudrez peut-être lancer votre propre journaliste, car karma-junit-reporter, karma-spec-reporter et les journalistes inclus peuvent ne pas répondre à vos besoins.

Je suppose que la personnalisation de karma-spec-reporter est la meilleure option dans ce cas, car elle imprime déjà une ligne lorsqu'un test réussit.

Si vous cherchez quelque chose d'encore plus simple à travailler, ici est un reporter personnalisé que j'ai construit. Il signale les tests réussis et échoués sans couleur de terminal.

50
benshope

Je recommande le Karma Spec Reporter. Cela vous donnera un joli rapport de test unitaire comme celui-ci.

Karma unit test spec

Comment l'utiliser:

  1. Installez le Karma Spec Reporter

Sur la ligne de commande de votre projet,

npm install karma-spec-reporter --save-dev

  1. Ajouter Karma Spec Reporter à la configuration

Dans karma.conf.js,

...
  config.set({
  ...
    reporters: ["spec"],
    specReporter: {
      maxLogLines: 5,         // limit number of lines logged per test
      suppressErrorSummary: true,  // do not print error summary
      suppressFailed: false,  // do not print information about failed tests
      suppressPassed: false,  // do not print information about passed tests
      suppressSkipped: true,  // do not print information about skipped tests
      showSpecTiming: false // print the time elapsed for each spec
    },
    plugins: ["karma-spec-reporter"],
  ...

C'est tout. Prendre plaisir.

37
Matt

Utilisez ce plugin avec karma 0.9.0 ou version ultérieure

https://github.com/mlex/karma-spec-reporter

7
Satshabad

Vous pouvez ajouter des journaux à vos spécifications de test. Découvrez log4js-node:

https://github.com/nomiddlename/log4js-node

1
grant