Wie richte ich Karma ein, um meine Backend-Unit-Tests (geschrieben mit Mocha) auszuführen? Wenn ich mein Backend-Testskript zum hinzufüge files = []
, wird nicht angegeben, dass dies nicht require
definiert ist.
Wie richte ich Karma ein, um meine Backend-Unit-Tests (geschrieben mit Mocha) auszuführen? Wenn ich mein Backend-Testskript zum hinzufüge files = []
, wird nicht angegeben, dass dies nicht require
definiert ist.
Antworten:
Das tust du nicht. Karma dient nur zum Testen von browserbasiertem Code. Wenn Sie ein Projekt mit Mokka-Tests im Backend und Karma / Mokka im Frontend haben, versuchen Sie, Ihre package.json unter Skripten zu bearbeiten, um den Test auf Folgendes zu setzen:mocha -R spec && karma run karma.con
Wenn npm test
true zurückgegeben wird, wissen Sie, dass das Festschreiben oder Bereitstellen sicher ist.
Es scheint, dass es nicht möglich ist (danke @dankohn). Hier ist meine Lösung mit Grunt:
Karma: Aktualisieren Sie Ihre Datei karma.conf.js
autoWatch = false;
singleRun = true;
browsers = ['PhantomJS'];
(um Inline-Ergebnisse zu haben)Grunzen:
npm install grunt-contrib-watch grunt-simple-mocha grunt-karma
Gruntfile.js:
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-simple-mocha');
grunt.loadNpmTasks('grunt-karma');
grunt.initConfig({
simplemocha: {
backend: {
src: 'test/server-tests.js'
}
},
karma: {
unit: {
configFile: 'karma.conf.js'
}
}
});
// Default task.
grunt.registerTask('default', ['simplemocha', 'karma']);
};
Grunt (optional): Konfigurieren Sie grunt-watch so, dass es ausgeführt wird, nachdem Sie die zu testenden Spezifikationsdateien oder Dateien geändert haben.
Führen Sie alle mit dem grunt
Befehl aus.