Come imposto Karma per eseguire i miei unit test di backend (scritti con Mocha)? Se aggiungo il mio script di test back-end a files = []
, non riesce affermando che require
non è definito.
Come imposto Karma per eseguire i miei unit test di backend (scritti con Mocha)? Se aggiungo il mio script di test back-end a files = []
, non riesce affermando che require
non è definito.
Risposte:
Non lo fai. Karma serve solo per testare il codice basato su browser. Se hai un progetto con mocha test sul backend e karma / mocha sul front-end, prova a modificare il tuo package.json sotto gli script per impostare il test su:mocha -R spec && karma run karma.con
Quindi, se npm test
restituisce true, saprai che è sicuro eseguire il commit o la distribuzione.
Sembra che non sia possibile (grazie @dankohn). Ecco la mia soluzione usando Grunt:
Karma: aggiorna il tuo file karma.conf.js
autoWatch = false;
singleRun = true;
browsers = ['PhantomJS'];
(per avere risultati in linea)Grugnito:
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 (opzionale): configura grunt-watch in modo che venga eseguito dopo aver modificato i file delle specifiche o i file da testare.
esegui tutto usando il grunt
comando.