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.
node.js
mocha
karma-runner
Sylvain
la source
la source
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é.la source
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.la source