2016-08-02 7 views
0

Ich habe ein Projekt, das Mocha Test Runner über die Befehlszeile (mocha -- test/test-dir) und Browserify verwendet. Momentan sind die Komponententests sehr einfach und wir benötigen nur das Quelljavascript (unbrowserified), um die Tests auszuführen. Bis jetzt hat es gut funktioniert.Mocha-Test und anschließende Aufrufe an 'Require' Module

//test/test-dir/my-test.js 

var foo = require('../../js/src/foo.js'); 
var assert = require('assert'); 

describe('foo.getBar', function() { 
... 

Wir wollten vor kurzem eine andere Abhängigkeit zu foo.js hinzuzufügen, typeahead.js.

//js/src/foo.js 

var jQuery = require("jquery"); 
var typeahead = require("typeahead.js"); 

... 

Jetzt scheitert unser einfacher Test mit einem TypeError: _.mixin is not a function. Diese _.mixin ist defined in typeahead.js, aber ich vermute, dass die verschachtelten erfordern in foo.js wird nicht von Mocha ausgewertet?

Nicht zu vertraut mit Mocha oder Browserify, dachte ich, dass das Umschalten auf die browserifizierte Version der foo.js würde helfen, da dann die erforderlichen Module gebaut und in foo.min.js verfügbar wären, obwohl ich den gleichen Fehler sehe. Ich weiß, dass Typeahead CommonJS-Pakete unterstützt, also bin ich nicht sicher, was mit diesen Tests falsch ist? Jede Hilfe würde sehr geschätzt werden. Vielen Dank!

Antwort

0

Ich fügte mochify hinzu, um zu behandeln, was ich glaube, einige CommonJS-Probleme mit Mocha zu sein. Ich würde gerne wissen, warum das funktioniert, aber die Tests gehen jetzt mit mochify -- test/test-dir/**/*.js jetzt. Yay.

Verwandte Themen