Ich habe Browserify, 6to5ify und Karma, um nett zu spielen, meine Spezifikationen erfolgreich ausgeführt. Wenn ich jedoch die Codeabdeckung hinzufüge, gehen die Dinge in den Süden. Ich habe verschiedene Ansätze ausprobiert:Getting Karma, 6to5ify und Istanbul Ball zu spielen
- Fügen Sie
browserify-istanbul
zu meiner karma.conf.js transformieren. Dies führt jedoch dazu, dass versucht wird, die Instrumentierung auf meinen Spezifikationsdateien auszuführen, wie es auch erscheinen würde. - Führen Sie
coverage
Preprozessor auf meine Quelldateien. Aber weil Istanbul (auchdouglasduteil/karma-coverage#next
) meine6to5ify
browserify-Transformation nicht liest, stürzt diese sofort auf der ersten Datei ab, die sie zu parsen versucht (wegen derimport
-Anweisung), oder wenn ich Karma-Coverage # next verwende, respektiert sie nicht Diebrowser
Zuordnung in meinem Paket.json (mobiles Projekt, Backbone zu Exoskelett zugeordnet).
Gerade jetzt meine karma.conf.js
sieht wie folgt aus:
module.exports = function(karma){
karma.set({
frameworks: ["browserify", "mocha", "chai-sinon"],
browserify: {
debug: true,
extensions: [".js", ".hbs"],
transform: ["6to5ify", "hbsfy"]
},
reporters: ["dots", "osx", "junit", "coverage"],
coverageReporter: {
type: "text"
},
junitReporter: {
outputFile: "spec/reports/test-results.xml"
},
preprocessors: {
"src/javascript/**/*": ["coverage"],
"spec/**/*": ["browserify"]
},
browsers: ["PhantomJS"],
files: ["spec/unit/**/*Spec.js"],
logLevel: "LOG_DEBUG",
autoWatch: true
});
};
Ich bin ein bisschen verloren, wie das alles zusammen arbeiten zu erhalten. Ich habe versucht, folgende these instructions, aber das hat nicht funktioniert, weil es nicht folgte meine browser
Knoten in package.json
. Jede Hilfe würde sehr geschätzt werden.