2015-10-07 26 views
6

Durante l'esecuzione di test, il karma sembra duplicare l'ultimo test più volte, la quantità di volte in cui il test viene duplicato sembra dipendere dal numero di test e dai browser utilizzati per l'esecuzione.Risultati test duplicazione uscita Karma

Se si utilizza un solo browser (PhantomJS o Chrome) per un test, il test viene visualizzato due volte, quando si utilizzano entrambi i browser viene mostrato lo stesso test singolo fino a 6 volte.

Ho aggiunto la registrazione al test, il log si verifica una volta per test per browser, quindi presumibilmente i test stanno eseguendo il numero corretto di volte ma solo duplicando i risultati mostrati.

karma.conf.js

module.exports = function(config) { 
    config.set({ 

    // base path that will be used to resolve all patterns (eg. files, exclude) 
    basePath: '', 


    // frameworks to use 
    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter 
    frameworks: ['jasmine'], 


    // list of files/patterns to load in the browser 
    files: [ 
     '_test/test.js' 
    ], 


    // list of files to exclude 
    exclude: [ 
    ], 


    // preprocess matching files before serving them to the browser 
    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor 
    preprocessors: { 
    }, 


    // test results reporter to use 
    // possible values: 'dots', 'progress' 
    // available reporters: https://npmjs.org/browse/keyword/karma-reporter 
    reporters: ['progress'], 


    // web server port 
    port: 9876, 


    // enable/disable colors in the output (reporters and logs) 
    colors: true, 


    // level of logging 
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG 
    logLevel: config.LOG_INFO, 


    // enable/disable watching file and executing tests whenever any file changes 
    autoWatch: true, 


    // start these browsers 
    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher 
    browsers: ['PhantomJS', 'Chrome'], 


    // Continuous Integration mode 
    // if true, Karma captures browsers, runs the tests and exits 
    singleRun: false 
    }) 
} 

test.js

describe('karma testing', function() { 
    it('tests karma is working', function() { 
     expect(true).toBe(true); 
     console.log('test1'); 
    }); 
}); 

uscita 1 del browser (Chrome)

07 10 2015 16:41:14.890:INFO [karma]: Karma v0.13.10 server started at http://localhost:9876/ 
07 10 2015 16:41:14.897:INFO [launcher]: Starting browser Chrome 
07 10 2015 16:41:16.364:INFO [Chrome 45.0.2454 (Windows 7 0.0.0)]: Connected on socket 0uvPocfSI0prGxwdAAAA with id 29520633 
LOG: 'test1' 
Chrome 45.0.2454 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0 secs/0.003 secs 
Chrome 45.0.2454 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.011 secs/0.003 secs) 

uscita 2 browser (PhantomJS, Chrome)

07 10 2015 16:27:31.399:INFO [karma]: Karma v0.13.10 server started at http://localhost:9876/ 
07 10 2015 16:27:31.407:INFO [launcher]: Starting browser PhantomJS 
07 10 2015 16:27:31.420:INFO [launcher]: Starting browser Chrome 
07 10 2015 16:27:32.886:INFO [PhantomJS 1.9.8 (Windows 7 0.0.0)]: Connected on socket P5focoe7004aPX1rAAAA with id 49258591 
07 10 2015 16:27:33.077:INFO [Chrome 45.0.2454 (Windows 7 0.0.0)]: Connected on socket BGtRdqevRGGXZTA-AAAB with id 42323971 
LOG: 'test1' 
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0 secs/0.003 secs) 
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.007 secs/0.003 s 
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.007 secs/0.003 s 
Chrome 45.0.2454 (Windows 7 0.0.0) LOG: 'test1' 
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.007 secs/0.003 s 
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.007 secs/0.003 secs) 
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.007 secs/0.003 secs) 
Chrome 45.0.2454 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.028 secs/0.002 secs) 
TOTAL: 2 SUCCESS 

Ho provato questo con e senza karma-cli installato ed i risultati sono gli stessi.

Ho guardato intorno allo stack overflow e google e alcune persone sembrano aver riscontrato problemi simili ma non ci sono risposte significative.

+0

Hai avuto fortuna a capirlo? Stiamo avendo lo stesso problema. –

+0

Sfortunatamente no, ho appena vissuto con esso per ora, stai eseguendo la stessa configurazione? – ndonohoe

risposta

0

Ho avuto problemi simili quando cercavo di far funzionare un programmatore.

karma.conf accetta diverse opzioni, come autoWatch, browser, singleRun - giusto? Tra tutti questi è una proprietà chiamata client.

La proprietà client è un oggetto con alcune proprietà proprie. Il suo scopo è configurare le impostazioni relative al client di test, come ad esempio Chrome.

Il client ha una proprietà denominata captureConsole. Il valore predefinito è true, il che significa che qualsiasi registrazione della console nel browser viene nuovamente inviata alla bash. Quindi, con quello attivato per impostazione predefinita, stavo vedendo sia la registrazione della console di Chrome sia l'output di tocco ottimizzato.

Provate questa impostazione nella vostra e vedere se aiuta!

client: { 
    captureConsole: false 
}, 
0

So che questo è stato chiesto anni fa, ma ogni possibilità si stesse eseguendo il karma dalla riga di comando di Windows? Ho avuto lo stesso problema, ho perso un paio d'ore su google, e poi per un capriccio l'ho eseguito da PowerShell e ha funzionato bene. Funzionava anche con git bash.

Problemi correlati