node.js - tutorial - tuto node js




Comment tester le code backend nodejs avec Karma(testaculaire) (2)

Comment configurer Karma pour exécuter mes tests unitaires backend (écrits avec Mocha)? Si j'ajoute mon script de test backend à files = [] , il échoue en indiquant que require est indéfini.


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

    • set autoWatch = false;
    • set singleRun = true;
    • définir les browsers = ['PhantomJS']; (pour avoir des résultats en ligne)
  • Grunt:

    • npm install grunt-contrib-watch grunt-simple-mocha grunt-karma
    • configurer les deux tâches de grunt (voir le fichier grunt ci-dessous)

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 (optionnel): configurez grunt-watch pour lancer des tests sur la modification des fichiers testés ou des spécifications.

  • exécuter tout en utilisant la commande grunt .


Vous ne le faites pas. Karma est seulement pour tester le code basé sur un navigateur. Si vous avez un projet avec des tests de moka sur le backend et du karma / mocha sur le front end, essayez de modifier votre package.json sous les scripts pour définir le test sur: mocha -R spec && karma run karma.con

Ensuite, si le npm test renvoie true, vous saurez qu'il est sûr de le valider ou de le déployer.





karma-runner