Gestion des dépendances non installées avec npm, en Mocha?

J’ai une application Node qui fonctionne et j’essaie d’append des tests Mocha, mais j’obtiens quelques erreurs d’importation.

Ceci est ma structure de fichier:

package.json index.js src/ chart.js test/ test_chart.js 

Voici à quoi ressemble mon fichier chart.js :

 global.jQuery = require('jquery'); global.$ = global.jQuery; require('typeahead'); require('bloodhound'); var bootstrap = require('bootstrap'); var Handlebars = require('handlebars'); var Highcharts = require('highcharts-browserify'); var parse = require('csv-parse'); var moment = require('moment'); var parsingChart = { doSomething: function() { ... } }; module.exports = parsingChart; 

Actuellement, index.js tout de /src dans un seul fichier index.js , puis je l’ browserify à browserify , ce qui fonctionne parfaitement, sans erreur dans l’application.

J’ai une section dans package.json qui définit les dépendances non disponibles via npm comme suit:

  "browser": { "chosen": "./vendor/chosen.jquery.min.js", "typeahead": "./vendor/typeahead.bundle.js", "bloodhound": "./vendor/bloodhound.js" } 

Maintenant, je veux commencer à écrire des tests Mocha pour les fonctions de /src .

Ceci est mon premier stub dans test_chart.js :

 var chart = require('../src/chart'); chart.doSomething(); 

Mais quand je lance le mocha , j’obtiens l’erreur suivante:

  /Users/.../js/node_modules/typeahead/node_modules/dom/lib/matches.js:2 var proto = Element.prototype; ^ ReferenceError: Element is not defined at Object. (/Users/.../js/node_modules/typeahead/node_modules/dom/lib/matches.js:2:13) at Module._comstack (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. (/Users/.../js/node_modules/typeahead/node_modules/dom/index.js:4:15) at Module._comstack (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. (/Users/.../js/node_modules/typeahead/typeahead.js:3:11) at Module._comstack (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. (/Users/.../js/src/chart.js:3:1) at Module._comstack (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. (/Users/.../js/test/test_chart.js:3:13) 

Comment puis-je réparer cette erreur d’importation pour Mocha?

Je pense que peut-être qu’il n’aime pas require('typeahead') car il ne peut pas voir les chemins de dépendance du browser que j’ai définis dans package.json .

Est-il possible de mettre ces fichiers à la disposition de Mocha ainsi que de browserify?

Ou devrais-je utiliser un autre paquet de test tout à fait?