2015-10-07 11 views
6

Beim Ausführen von Tests scheint Karma den letzten Test mehrfach zu duplizieren. Die Anzahl der Wiederholungen des Tests scheint von der Anzahl der Tests und den für den Lauf verwendeten Browsern abzuhängen.Testergebnisse der Karma-Ausgabe Duplikate

Wenn nur ein Browser (PhantomJS oder Chrome) für einen Test verwendet wird, wird der Test zweimal angezeigt, bei Verwendung beider Browser wird der gleiche Einzeltest bis zu 6 Mal angezeigt.

Ich habe die Protokollierung in den Test aufgenommen, das Protokoll tritt einmal pro Test pro Browser auf, also werden die Tests vermutlich die richtige Anzahl von Malen ausgeführt, aber duplizieren nur die gezeigten Ergebnisse.

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'); 
    }); 
}); 

Ausgang 1 Browser (Chrom)

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) 

Ausgang 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 

Ich habe dies mit und ohne Karma-Cli installiert und die Ergebnisse sind die gleichen.

Ich habe mich rund um Stack-Überlauf und Google und ein paar Leute scheinen ähnliche Probleme aufgetreten sind, aber es gibt keine sinnvollen Antworten.

+0

Haben Sie Glück, dieses herauszufinden? Wir haben das gleiche Problem. –

+0

Leider nicht, ich habe gerade damit leben, laufen Sie die gleiche Konfiguration? – ndonohoe

Antwort

0

Ich hatte ähnliche Probleme, wenn ich versuchte, einen Prettifier zu arbeiten.

karma.conf nimmt mehrere Optionen, wie AutoWatch, Browser, singleRun - richtig? Unter all diesen ist eine Eigenschaft namens Client.

Die Client-Eigenschaft ist ein Objekt mit einigen eigenen Eigenschaften. Sein Zweck besteht darin, Einstellungen zu konfigurieren, die für den Test-Client relevant sind, z. B. Chrome.

Der Client verfügt über eine Eigenschaft namens captureConsole. Dies ist standardmäßig true, dh jede Konsolenprotokollierung im Browser wird ebenfalls an Ihre Bash gesendet. Mit der standardmäßig aktivierten Funktion sah ich sowohl die Konsolenprotokollierung von Chrome als auch die verschönerte Tap-Ausgabe.

Probieren Sie diese Einstellung in Ihrem und sehen Sie, ob es hilft!

client: { 
    captureConsole: false 
}, 
0

Ich weiß, das wurde vor Jahren gefragt, aber jede Chance, die Sie Karma von der Windows-Befehlszeile ausgeführt haben? Ich hatte das gleiche Problem, verschwendet ein paar Stunden googeln, und dann auf eine Laune lief es aus Powershell und es hat gut funktioniert. Auch mit Git Bash gearbeitet.

Verwandte Themen