Laufen Mokka programmgesteuert und pass-Ergebnisse zur variable oder Funktion

Ich habe setup eine Reihe von tests in Mokka mit ZombieJS und Chai. Die tests laden, bis eine Webseite und überprüfen Sie, ob verschiedene Leistungen gebucht sind richtig und zeigen den Besuchern der website.

Was ich bin mit dem Ziel für ist, dass die tests ausgeführt werden, die täglich und dann per E-Mail die Ergebnisse an mein team. Die tests sind alle laufen wie erwartet, aber die Blockade, die ich getroffen habe, ist die folgende.

Wie gebe ich die JSON-reporter-Ergebnisse zu einem anderen node.js Skript, wo kann ich E-Mail die Ergebnisse. Aufbau der E-Mail und senden es wird straight nach vorne nodemailer und Unterstrich templating.

Meine aktuellen denken ist, gibt es zwei Ansätze. Führen Sie den mocha-test mit einem shell-Skript und übergeben Sie die JSON-Ausgabe in einem Skript-Knoten und Verarbeitung der JSON von einer Befehl Linie argument. So etwas wie...

mocha test/services/homepage.js > node email.js

Die andere alternative ist, führen Sie die tests in einem Skript-Knoten und erhalten das Ergebnis in eine variable. Ich habe mit Informationen von hier aus laufen die tests im Knoten.

https://github.com/mochajs/mocha/wiki/Using-mocha-programmatically

Diese korrekt läuft, aber ich bin verloren, wie man die JSON-reporter-Ergebnisse in eine variable aus dem code unten.

var Mocha = require('mocha'),
    Suite = Mocha.Suite,
    Runner = Mocha.Runner,
    Test = Mocha.Test;

//First, you need to instantiate a Mocha instance

var mocha = new Mocha({
    reporter: 'json'
});

var suite = new Suite('JSON suite', 'root');
var runner = new Runner(suite);
var mochaReporter = new mocha._reporter(runner);

mocha.addFile(
    '/Users/dominic/Git/testing-rig/test/services/homepage.js'
);

runner.run(function(failures) {
    //the json reporter gets a testResults JSON object on end
    var testResults = mochaReporter.testResults;

    console.log(testResults);
    //send your email here
});
InformationsquelleAutor dlearious | 2015-03-14
Schreibe einen Kommentar