Come si installa Karma per eseguire i miei test dell'unità di backend (scritti con Mocha)? Se aggiungo il mio script di test back-end allo files = []
, non è possibile affermare che require
non è definito.Come testare il codice di backend del nodo con Karma (testacular)
risposta
Non è così. Karma è solo per testare il codice basato su browser. Se si dispone di un progetto con i test moka sul backend e il karma/moka sul front-end, provare a modificare il vostro package.json sotto script per impostare test per: mocha -R spec && karma run karma.con
Poi, se npm test
restituisce vero, saprete che è sicuro da impegnare o distribuire.
Grazie! Ho trovato una soluzione usando Grunt che stavo già pianificando di installare nel mio progetto. Vedi la mia risposta. – Sylvain
Fondamentalmente tutti i test runner per JS si affidano a un browser, quindi? È inutile. –
Moka e Jasmine non fanno affidamento su un browser e quando si desidera eseguire un browser headless, si consideri l'utilizzo di phantomjs. – dankohn
Sembra che non sia possibile (grazie @dankohn). Ecco la mia soluzione con Grunt:
Karma: aggiornare il vostro file karma.conf.js
- set
autoWatch = false;
- set
singleRun = true;
- impostato
browsers = ['PhantomJS'];
(per avere risultati in linea)
- set
Grunt:
npm install grunt-contrib-watch grunt-simple-mocha grunt-karma
- configurare i due compiti grugnito (vedere file di grugnito di seguito)
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): setup grunt-watch per iniziare t est su come cambiare i file testati o le specifiche stesse.
eseguire tutto utilizzando il comando
grunt
.
Quindi hai ancora bisogno di un browser, è solo che il browser è senza testa. Quanto inutile, sicuramente non usare il karma per i test lato server. –
Ciao, questo non sta usando il karma per il backend, questo sta usando la moka, quindi nessun browser. Questo è solo un modo conveniente di eseguire tutti i test non appena si salva un file. – Sylvain
Mentre non avevo davvero bisogno del Karma per quello che stavo facendo, questo mi ha portato su un percorso facile per ottenere il setup grunt per eseguire automaticamente i miei test di moka, quindi grazie per questo. –
Questo ** ** CAN da fare, prendere guardare il mio progetto: https://github.com/noamtcohen/Narma – noamtcohen