Comment configurer Karma pour exécuter mes tests unitaires backend (écrits avec Mocha)? Si j'ajoute mon script de test backend au files = []
, il échoue en indiquant qu'il require
n'est pas défini.
Comment configurer Karma pour exécuter mes tests unitaires backend (écrits avec Mocha)? Si j'ajoute mon script de test backend au files = []
, il échoue en indiquant qu'il require
n'est pas défini.
Réponses:
Vous ne le faites pas. Karma sert uniquement à tester le code basé sur un navigateur. Si vous avez un projet avec des tests mocha sur le backend et karma / mocha sur le front-end, essayez de modifier votre package.json sous scripts pour définir test sur:mocha -R spec && karma run karma.con
Ensuite, si npm test
retourne true, vous saurez que vous pouvez valider ou déployer en toute sécurité.
Il semble que cela ne puisse pas être fait (merci @dankohn). Voici ma solution en utilisant Grunt:
Karma: mettez à jour votre fichier karma.conf.js
autoWatch = false;
singleRun = true;
browsers = ['PhantomJS'];
(pour avoir des résultats en ligne)Grognement:
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 (facultatif): configurez grunt-watch pour qu'il s'exécute après la modification des fichiers de spécifications ou des fichiers à tester.
exécutez tout en utilisant la grunt
commande.