2016-03-25 10 views
1

Ich habe Probleme beim Schreiben der Ausgabe meiner Tests in eine externe Datei mit Karma und Schluck. Ich bekomme die komplette Ausgabe in meiner Konsole. In meiner Textdatei bekomme ich die grundlegende Ausgabe, aber nicht meine tatsächlichen Ergebnisse meiner Tests. (basic = Anfordern/Abrufen von Quelldateien, Web-Server-Warnungen wie 404)Logging-Datei von Karma (Jasmin-Test) mit Schluck

Grundsätzlich möchte ich meine bestanden, übersprungen und fehlgeschlagene Tests in einer externen Datei geschrieben. (Was ich nicht haben jetzt) ​​

Das ist mein karma.conf.js:

module.exports = function(config) { 
    config.set({ 
    frameworks: ['jasmine'], 
    reporters: ['spec'], 
    specReporter: { 
     maxLogLines: 10,   // limit number of lines logged per test 
     suppressErrorSummary: false, // do not print error summary 
     suppressFailed: false, // do not print information about failed tests 
     suppressPassed: false, // do not print information about passed tests 
     suppressSkipped: false, // do not print information about skipped tests 
     showSpecTiming: false // print the time elapsed for each spec 
     }, 
    browsers: ['IE'],//, 'Chrome', 'Firefox', 'PhantomJS' 
    plugins: [ 
     'karma-*', 
     'karma-spec-reporter' 
    ], 
    logLevel: config.LOG_DEBUG, 
    port:9876, 
    autoWatch: true, 
    files: [ "**/*.js" 
    ], 
    loggers:[{ 
      type: 'console' 
     }, 
     { 
      type: 'file', 
      absolute: false, 
      filename: 'logfile.log', 
      maxLogSize: 20480, 
      backups: 10, 
     } 
    ], 
    colors:true 
    }); 
}; 

schluck:

gulp.task('test', function (done) { 
    new Server({ 
     configFile: __dirname + '/karma.conf.js', 
     singleRun: false, 

    }, done).start(); 
}); 

Dies funktioniert: Karma Start> log.log
in Konsole

Antwort

0

Endete hören process.stdout.write in Node. Schrieb eine Funktion zum "dekorieren" write und speichert die Ausgabe in einem Array. Ich brauchte es, um bestimmte Logs von Jasmine herauszufiltern, aber du könntest es tun und dann in eine Datei schreiben.

Ändern Sie es, um zu tun, was Sie brauchen, aber es funktionierte für mich, um die Jasmine Protokolle zu bekommen. Ich schrieb auch eine Aufgabe, um die watchFunc vor Jasmine zu starten, und eine andere nach unwatch nach, so dass ich nichts anderes zu process.stdout geschrieben bekommen würde.

Hoffe es hilft! :)

Verwandte Themen