Ho una suite di test esistente che funziona bene in node.js con moka, richiedere e gelsomino, con test in esecuzione tramite uno script psake PowerShell. Sto tentando di aggiungere la copertura dei test, in modo da eseguire il test di unità invece di fare:Come posso ottenere istanbul lavorare con nodo, moka, gelsomino e richiedono js
unitTest.js nodo
sto facendo
unitTest.js copertura Istanbul
che sembra funzionare ma mi fornisce solo informazioni sulla copertura sullo unitTest.js stesso, ma non su nessuno degli altri file javascript in uso nel progetto. Sto indovinando che è a causa della combinazione require/mocha quindi non conosce i file js che sto usando.
ho cercato strumentazione manualmente tutti i file come un passo prima della copertura del codice e l'esecuzione lo stesso comando sui file copiati/strumentate ma ho ottenuto lo stesso risultato. Qualche consiglio su come fare questo lavoro?
Ecco l'ultima parte del unitTest.js
requirejs(['mocha'], function(Mocha) {
var mocha = new Mocha({reporter: (process.env['TEAMCITY_VERSION'] ? 'teamcity' : 'spec')});
// Hack to establish the global variables (sigh)
mocha.suite.emit('pre-require', global, __filename, mocha);
fswalk(__dirname, function(err, results) {
if (err)
console.warn(err);
else {
var testName = process.argv[2] || "";
console.log("testName: " + testName);
var inclusionSuffixes = [testName + '.test.js'];
var exclusionSuffixes = ['.integration.test.js'];
var tests = _.filter(results, function (result) {
var test = function (suffix) { return result.indexOf(suffix) == result.length - suffix.length; };
return _.any(inclusionSuffixes, test) && !_.any(exclusionSuffixes, test);
});
requirejs(tests, function() {
mocha.run(function(failures) {
process.exit(failures);
});
});
}
});
});
utilizzando il contesto-run-in---hook parametro lo fa funzionare correttamente – user2576666
Puoi per favore renderlo una risposta? – gcedo