2013-06-03 17 views
32

Quando eseguo karma sulla mia webapp, ottengo solo messaggi generici come test passati: c'è un modo per ottenere un elenco di test che passano? Come posso ottenere un output più dettagliato?Come posso ottenere una lista di test di passaggio dalla suite karma runner?

Non riesco a trovarlo da nessuna parte nella documentazione.

+0

Correlato a http://stackoverflow.com/questions/16684582/generate-jasmine-report-using-karma-runner/16865197?noredirect=1#comment24382342_16865197 –

risposta

39

so come questo può essere fatto!

L'uscita del terminale Karma proviene da oggetti denominati Reporters. Karma viene fornito con alcuni Reporters incorporati (possono essere trovati in karma/lib/reporters). Karma è anche in grado di utilizzare segnalatori personalizzati.

È possibile specificare quali reporter vengono utilizzati nel file karma.config.js del progetto.

Per esempio, il giornalista 'puntini' si limita a stampare un punto in cui ogni test viene superato:

reporters: ['dots'], 

Il 'progresso' stampe giornalista più di puntini:

reporters: ['progress'], 

il giornalista personalizzato karma-spec-reporter stampe il nome di ciascun test quando il test ha esito positivo o negativo (ma non molto altro):

reporters: ['spec'], 

Si consiglia di lanciare il proprio reporter, poiché il reporter di karma-junit, il reporter di karma-spec e i giornalisti inclusi potrebbero non soddisfare le proprie esigenze.

Immagino che la personalizzazione di karma-spec-reporter sia l'opzione migliore in questo caso, poiché stampa già una riga quando un test ha esito positivo.

Se stai cercando qualcosa di ancora più semplice da utilizzare, here è un reporter personalizzato che ho creato. Segnala i test di passaggio e in mancanza senza colori terminali.

+7

Installare karma-spec-reporter tramite 'npm installa karma-spec -reporter --save-dev'. Spero che questo aiuti qualcuno in quanto non è chiaro come utilizzarlo. –

+3

grazie anche a @AnsonKao è necessario specificare 'karma-spec-reporter' nella sezione plugin di' karma.conf' – ak85

24

Raccomando Karma Spec Reporter. Questo ti darà un bel report di test unitario come questo.

Karma unit test spec

Come si usa:

  1. Installare il Karma Spec Reporter

Sulla riga di comando nel progetto,

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

  1. Aggiungi Karma Spec Reporter alla configurazione

In 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"], 
    ... 

Questo è tutto. Godere.

Problemi correlati